小编Bru*_*uce的帖子

模拟电源按钮按下以显示关闭对话框

我正在尝试调用按下电源按钮时出现的关闭对话框.但我想从Android应用程序或Junit测试用例中完成此任务.在这种情况下,我会选择最可行的方法.我一直试图这样做,但未能成功.我试图使用以下五种方法:

第一种方法:

long eventTime = SystemClock.uptimeMillis(); boolean
                  dispateched = launcherButtonWInst.dispatchKeyEvent(new
                  KeyEvent(eventTime, eventTime, KeyEvent.ACTION_DOWN,
                  KeyEvent.KEYCODE_POWER, 0, 0, 0, 0, 0) );
                  Log.i(LOG_TAG,String.valueOf(dispateched)); boolean
                  dispateched2=launcherButtonWInst.dispatchKeyEvent(new
                  KeyEvent(eventTime+2000, eventTime+2000, KeyEvent.ACTION_UP,
                  KeyEvent.KEYCODE_POWER, 0, 0, 0, 0, 0) );
                  Log.i(LOG_TAG,String.valueOf(dispateched2));
Run Code Online (Sandbox Code Playgroud)

================================================== =====

第二个apporach:

private void generateKeys() {
        // Obtain the WindowManager system service interface
        IBinder wmbinder = ServiceManager.getService("window");
        Log.d(LOG_TAG, "WindowManager: " + wmbinder);
        IWindowManager wm = IWindowManager.Stub.asInterface(wmbinder);
        keyUpDown(wm, KeyEvent.KEYCODE_POWER);
    }

    private void keyUpDown(IWindowManager wm, int keycode) {
        try {
            Log.d(LOG_TAG, "keyDown: " + keycode);
            wm.injectKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, …
Run Code Online (Sandbox Code Playgroud)

android android-ndk android-source

20
推荐指数
2
解决办法
3万
查看次数

将基于eclipse/cdt的构建集成到持续集成中

我必须重用一个目前在eclipse中开发的主要C++项目,使用CDT,mingw和cdt托管构建功能(没有外部makefile或构建环境).该项目本身由许多子项目组成.

我想将该构建集成到一个持续集成服务器(即jenkins),因此能够自动化无头构建.

到目前为止,我设法检查了项目(很容易从jenkins)并使用eclipse使用以下命令构建无头模式:

C:\prog\EclipseCdt\eclipse -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import %WORKSPACE%\project1 -import %WORKSPACE%\project2 -import %WORKSPACE%\project3 -build all
Run Code Online (Sandbox Code Playgroud)

然而,这还不够:

  • 构建是异步的:上一个命令返回(它实际上是分叉),而我希望它保持上下文,直到我有一个结果(就像make在Linux或devenvWindows上一样)
  • 我无法提取构建日志(理想情况下将它们放在文件中):要集成在我的连续信息中,我需要能够解析构建日志以显示有趣的信息(想想破碎的文件)
  • 理想情况下,我想从Eclipse获得一个指示通过或失败的直接状态(返回代码).

知道如何有这种行为吗?

注意:

  • 使用alternate(外部)构建系统目前不是一个选项(我必须保留cdt托管构建,它有很多复杂的历史记录)
  • 我已经看过堆栈溢出和谷歌并没有找到办法做到这一点,尽管我需要明显的简单性
  • 我目前在Windows 7/mingw 4.5.2/Eclipse IDE for C/C++ Developers版本:Indigo Release Build id:20110615-0604但我觉得问题是x-platform

eclipse eclipse-cdt jenkins

9
推荐指数
1
解决办法
3898
查看次数

Java和C++运算符之间有什么区别吗?

如果你使用Java的原始数字类型,加上布尔值,并将它与C++等效类型进行比较,那么运算符有什么区别,例如优先级规则或位操作运算符的作用是什么?还是括号的影响?

问另一种方法,如果我使用Java表达式并尝试在C++中编译并运行它,它是否总是编译并始终给出相同的结果?

c++ java operators

8
推荐指数
2
解决办法
3928
查看次数

知道cpp中的命名空间

我们有一个c ++项目,我们使用doxygen来记录,只在类的头文件中放入doxygen注释,我们在cpp中记录静态函数.

我们的doxygen配置文件收集项目中的任何header/hpp)/ implementation/cpp)文件.另外,我们在命名空间内隔离了很多独立的组件(和外部组件).

该项目以我们使用多态的方式完成(由于广泛使用代理模式)

由于这是一种常见的做法,我们禁止在头文件中使用using指令,我们在实现文件中使用它.

通常,我们在标题中:

/**
 * @brief
 *   test from A
 */
void f(N1::N2::A);
/**
 * @brief
 *   test from A
 */
void f(N1::N2::B);
Run Code Online (Sandbox Code Playgroud)

在实施中,我们有

using namespace N1::N2;

void f(A) { }
void f(B) { }
Run Code Online (Sandbox Code Playgroud)

运行doxygen时,他似乎很困惑并产生错误信息:

warning: no uniquely matching class member found for f(A)
possible candidates:
void f(N1::N2::A)
void f(N1::N2::B)
Run Code Online (Sandbox Code Playgroud)

任何想法如何摆脱这些错误,让doxygen知道"使用"指令?

编辑

c++ doxygen

8
推荐指数
1
解决办法
2059
查看次数

Google 的 Protocol Buffers 是否能有效地自动对齐数据?

在典型的 C 或 C++ 中struct,开发人员必须以提供有效内存对齐和填充的方式显式排序数据成员,如果这是一个问题。

Google 的 Protocol Buffers 的行为很像structs 并且不清楚这些的编译如何影响内存布局。有谁知道这种为了有效的内存布局而以特定顺序组织数据的趋势是否由协议缓冲区编译器自动处理?我一直无法找到这方面的任何信息。

IE 缓冲区实际上可能在内部对数据进行排序,而不是message在 protobuf的对象中指定。

c++ protocol-buffers

5
推荐指数
1
解决办法
1945
查看次数

构建内置内核模块的步骤?

我可以构建一个可加载模块,并且它可以成功地与应用程序一起使用。现在我尝试将此驱动程序作为内置驱动程序包含在内核驱动程序文件夹中。但是当我尝试这个时,/dev 文件夹中没有创建设备文件。完成这个内置模块需要哪些必要步骤?现有模块是否需要修改?

提前致谢

linux kernel module driver device

4
推荐指数
1
解决办法
8092
查看次数

寻找一个匹配gmail加地址的正则表达式

我目前使用这个:

/^(.*)\+(.*)@gmail.com/

(我正在捕捉组中加号前后的文字)

它可以在大多数情况下工作, test+test@gmail.com 但如果我试着匹配说,那就会掉下来 test+++test@gmail.com

重复的+标志似乎搞砸了.

任何帮助将非常感激.

谢谢

regex

1
推荐指数
1
解决办法
2718
查看次数

删除Python中列表中某些字符的元素

我正在研究python脚本,我有很多问题.

我想知道是否可以从列表中删除元素,但只能删除某些字符的元素.

例如,我有列表: list1 = [SOFA_CONFORT, SOFA, CHAIR_CONFORT, CHAIR]

我想获得列表: list2 = [SOFA, CHAIR]删除以"_CONFORT"结尾的元素.

我不应该知道列表的元素,我希望脚本能够自己完成所有这些.

提前感谢您的回答.

python list delete-row

-3
推荐指数
2
解决办法
74
查看次数