在开发 Flutter 应用程序时 - 我最感兴趣的是我创建的日志消息print()- 在本例中调用记录器I/flutter(图中的第 4 行)。
但我收到了许多其他记录器的垃圾邮件,如下所示。
除了关闭和打开之外,是否有一种简单的方法可以打开所有其他记录器I/flutter?
我知道这里有非常相似的措辞问题,但我找不到我的问题的答案,所以我们走了:
我试图看看其他人调用了哪些C++方法,所以我在google搜索后找到了Doxygen.
在他们的页面上,安装看起来非常简单:
如果您安装了必要的构建工具(即g ++,python,cmake,flex,bison),则应执行以下操作以获取存储库的初始副本:
git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make
直到cmake -G "Unix Makefiles" ..一切顺利,然后在该命令发生以下错误:
test@test-VirtualBox:~/doxygen/build$ cmake -G "Unix Makefiles" ..
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find FLEX (missing: FLEX_EXECUTABLE)
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.5/Modules/FindFLEX.cmake:230 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:84 (find_package)
Run Code Online (Sandbox Code Playgroud)
我想:没什么大不了的,为什么要开箱即用......似乎我必须安装flex.
所以我这样做:(
sudo apt-get update
sudo apt-get install flex
sudo apt autoremove因为安装后命令行建议我这样做)
现在在我看来已经安装了flex,我再试cmake -G "Unix Makefiles" …
我试图在我的 Flutter 应用程序中显示我手机中的图像并收到以下错误:
Another exception was thrown: FileSystemException: Cannot open file, path = '/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs/1570277797774' (OS Error: Permission denied, errno = 13)
Run Code Online (Sandbox Code Playgroud)
我不明白这Permission denied部分,因为我添加了...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)
...到我的android/app/src/mainAndroidManifest.xml文件,当运行该应用程序时,它表明它确实具有读取文件的权限:

此外,我尝试打开的文件存在并且看起来不错 - 我也可以用其他应用程序打开它:
这是我的代码:
import 'dart:io';
import 'package:flutter/material.dart';
void main() => runApp(FileOps());
class FileOps extends StatefulWidget {
_FileOpsState createState() => _FileOpsState();
}
class _FileOpsState extends State<FileOps> {
File localFile;
String widgetTitle = 'Show Image';
@override
void initState() {
super.initState();
localfile.then((File _localFile) {
setState(() {
localFile = _localFile;
}); …Run Code Online (Sandbox Code Playgroud) 我有这样的文本字段将变为红色,如果我将属性required设置为"1",则不会让您自动提交表单:
<f:form.textfield required="1"
property="name"
class="lcapp-formwidth"/>
Run Code Online (Sandbox Code Playgroud)
现在我在textarea中搜索同样的东西...这个属性required在这里不再起作用了...什么是"最佳实践",使它成为像文本字段一样的必填字段?
<f:form.textarea property="story"
rows="3"
cols="7"
class="lcapp-formwidth" />
Run Code Online (Sandbox Code Playgroud) 在尝试使 doxygen 工作时解决了一些初始问题后,我在遵循doxygen 安装教程时偶然发现了下一个错误。
到目前为止什么工作:(
git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
sudo apt-get install flex它丢失了所以我之前必须安装它cmake)
sudo apt-get install bison(它丢失了所以我之前必须安装它cmake)
cmake -G "Unix Makefiles" ..
make
但是后来make install我收到以下错误:
test@test-VirtualBox:~/doxygen/build$ make install
[ 1%] Built target md5
[ 19%] Built target qtools
[ 24%] Built target vhdlparser
[ 92%] Built target _doxygen
[ 98%] Built target doxycfg
[100%] Built target doxygen
Install the project...
-- Install configuration: …Run Code Online (Sandbox Code Playgroud) 编辑:感谢 4 个所有精彩、多样化的答案 - 即使在我意识到我需要更多要求之后,我仍然选择了对我有用的解决方案:我还需要添加新属性并使其也可以与对象中的数组一起使用。
这就是我想做的:通过一个对象更新另一个对象。
以下是一些限制:
我的问题是我不知道如何轻松地对嵌套对象执行此操作,因为typeof x === "object"例如对于 Date 对象也返回 true 。
这是我到目前为止得到的:
let originalObj = {
dateCreated: new Date(2021, 1, 10),
value: "100",
subObj: {
count: 55,
val: null
}
};
let updateObj = {
dateCreated: new Date(2021, 1, 11),
subObj: {
val: 90
}
};
let updateOrignal = (oObj, uObj) => {
for (let prop in uObj) {
if (uObj.hasOwnProperty(prop) &&
oObj.hasOwnProperty(prop)) {
oObj[prop] = uObj[prop];
}
}
};
console.log(originalObj);
updateOrignal(originalObj, …Run Code Online (Sandbox Code Playgroud)我创建一个这样的日志:
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
i_s_log = ls_log
IMPORTING
e_log_handle = mv_log_handle.
Run Code Online (Sandbox Code Playgroud)
然后我像这样添加一个msg:
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
i_log_handle = mv_log_handle
i_s_msg = ls_msg
IMPORTING
e_msg_was_logged = lv_was_logged.
Run Code Online (Sandbox Code Playgroud)
保存后,我转到事务slg1搜索我的日志对象并找到我的消息:
但是在SAP演示程序SBAL_DEMO_02中,我看到了这样的日志消息:

它右边有一个很酷的问号按钮,如果我点击它我可以看到更多的文字.
我也希望它在我的日志中,如何将其添加到我的日志消息中?
我浏览了SBAL_DEMO_02的代码,但我仍然没有得到它们的添加方式.
我想清除测试环境中的一些表,然后用真实环境中的值填充它们。但我不想清除多个表,太多了。
一个例子:
我有一张桌子appointment和一张桌子client。
表中appointment有一列client.id。当我在 PhpMyAdmin 中
单击时,所有条目都保持不变。 Empty the table (TRUNCATE)appointmentclient
我可以在 PhpMyAdmin 中设置一些属性,以便当我点击时,所有与 相关的条目也会client被appointment删除吗?Empty the table (TRUNCATE)appointment
我最近在循环中发现了GROUP BY命令.
现在想象下面的例子:
我有一个列的itab categories.我想知道有多少不同的类别.使用上面链接的GROUP BY语句,我可以计算循环执行的次数.有没有循环的更简单的方法?
我正在像这样动态地调用类的方法,并且它的工作原理是:
CALL METHOD (gc_zcl_mapping_methods)=>(<ls_import_params>-attr_logic_method)
EXPORTING
iv_dats = <lv_value>
RECEIVING
rv_timestamp = <ls_import_params>-attr_value.
Run Code Online (Sandbox Code Playgroud)
问题是我要命名两个参数iv_dats和rv_timestamp。
并非每个方法都有这些参数名称,因此我正在寻找一种无需命名参数即可调用它们的方法。
我尝试过这种方法,但出现许多语法错误。
<ls_import_params>-attr_value = (gc_zcl_mapping_methods)=>(<ls_import_params>-attr_logic_method)(<lv_value>).
Run Code Online (Sandbox Code Playgroud)
我的目标是否存在省略参数名称的正确语法?
abap ×3
sap ×3
cmake ×2
doxygen ×2
flutter ×2
android ×1
apt ×1
dart ×1
flex-lexer ×1
fluid ×1
javascript ×1
logging ×1
phpmyadmin ×1
required ×1
textarea ×1
typo3 ×1
ubuntu-14.04 ×1
validation ×1