【发布时间】:2011-01-11 19:00:45
【问题描述】:
大家好! 我是黑莓编程新手,虽然我确实有一些 java 经验,c# 是我的主要语言)。
我要做的是编写一个线程,该线程将在系统启动时运行并作为侦听器存在于后台。
我希望我的应用程序实现 KeyListener 并且基本上在手机开机时坐在后台并跟踪每个按钮被按下的次数的直方图。我目前正在模拟器上运行,所以现在我只想让它在获得密钥时打印到控制台。
我已经能够在 UIApplication 中实现 keyListener,但它只在应用加载时才有效。
这是我目前拥有的应用程序
public class CustomApp extends UiApplication
{
private keyListenerThread listener;
public stati void main(String[] args)
{
CustomApp myApp = new CustomApp();
myApp.enterEventDispatcher();
}
public CustomApp()
{
listener = new KeyListenerThread();
this.addKeyListener(listener)
//.....other GUI setupthings....
pushScreen(mainScreen);
}
private class KeyListenerThread extends Thread implements KeyListener
{
public KeyListenerThread()
{
}
public boolean keyDown(int arg0, int art1)
{
System.out.println("button pressed!!");
}
//...other keylistener methods
}
这仅在应用程序打开时才有效。所以这并不是我真正想要实现的目标。如果有人能指出我正确的方向,我将不胜感激!
编辑:
我发现这个示例部分显示了我正在寻找的内容:http://supportforums.blackberry.com/t5/Java-Development/Allow-a-background-listener-to-detect-and-update-a-GUI/ta-p/442907 一个问题是我在模拟器中这样做,我不知道如何练习这段代码,以便我可以真正调试它的工作方式。我被告知 keylistener 不能在后台运行,这很不幸,因为它最容易测试。我可以以同样的方式设置哪些其他侦听器来轻松测试和了解代码在模拟器中的工作方式?
谢谢!
斯蒂芬妮
【问题讨论】:
-
你试过全局事件监听器,不确定但你可以搜索
标签: java multithreading blackberry listeners