用对话框显示调试信息,是个土办法了,和J2SE里面的System.out.println是一个道理,苯苯的,但是it works.
下面的公用方法,可以延迟弹出对话框,而不影响(打断)程序的持续运行。
public static void alert(final String msg) {
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
Dialog.alert(msg);
}
});
}
分享自berryreload的博客:http://blog.csdn.net/berryreload/archive/2010/05/08/5568870.aspx
------解决思路----------------------
使用对话框弹出调试信息是最最直观的,但是这里需要的是对话框的弹出不能阻塞系统的event处理流程,有很多人第一次用这种方法去处理调试信息弹出,经常犯错是在UI组件的响应时间中调用dialog.alert,结果会引起异常。
Blackberry的基于event的UI时间和应用程序事件的响应逻辑做得非常严格,这样能确保不会有应用把系统的event阻塞住。
还有一种更加自然或者说比较有效的log的输出是使用bb的eventlog机制,这种方法不会新启线程,不会影响原有应用的逻辑,而且代码很干净。
在eventlog里面能够打出throwable的callstack,这个让j2me的开发者会羡慕不已:)
参考文章如下:
http://blog.csdn.net/salvatore_zhang/archive/2010/06/18/5678937.aspx
http://blog.csdn.net/salvatore_zhang/archive/2010/06/18/5678924.aspx
///
专业黑莓博客:
http://blog.csdn.net/salvatore_zhang
http://blog.csdn.net/BBsync