在为手机编写j2me应用程序时,如果使用模拟器,则使用System.out.println()在控制台上打印。然而,当代码部署在手机上时,控制台输出会去哪里呢?
如果不能在不受限制的手机中看到这一点,那么如果手机仍然通过USB连接到部署中的PC,有没有办法看到它?
发布于 2009-09-30 17:47:02
在塞班手机(诺基亚、索尼-爱立信、摩托罗拉、三星、松下、西门子,查看Series60、Series80、Series90或UIQ平台)上,您可以同时检索System.out和System.err。最重要的是,您还可以检索Throwable.printStackTrace()。
Symbian OS的早期版本附带了一个称为重定向器的本机工具。它最终也可供第三方MIDlet开发人员使用。现在可能很难找到它,但是可以使用插入到Java Virtual Machine使用的C标准库的塞班实现中的C++代码进行重新开发。
新版本的Symbian OS附带了一个额外的GCF协议,它允许通过简单地使用以下命令来检索System.out、System.err和Throwable.printStackTrace()
javax.microedition.io.Connector.openDataInputStream("redirect://");
在从Sun Ltd cldc-hi虚拟机到IBM J9虚拟机的转换过程中,您可能需要在某些版本的Series60上使用"redirect://test“。
在启动要记录其输出的MIDlet之前,需要打开连接,因此需要在单独的MIDlet中打开它。
发布于 2008-09-24 13:19:41
我找到了关于j2me日志的答案的this question。如果其他方法都不起作用,也许可以试一试。不过,一种访问System.out.println()的简单方法会更好。
发布于 2010-08-25 08:17:52
感谢您的回复,QuickRecipesOnSymbian。
在下面的文章中,您可以找到相应的J2ME MIDlet来显示Symbian手机上的标准错误/输出:
http://wiki.forum.nokia.com/index.php/How_to_get_System.out_output_from_a_MIDlet_and_save_it_to_a_file_in_S60_devices
这个解决方案在三星i8910上也运行得很好。(因为我是这个站点的新手,我不能发布多个链接,所以您需要在文章末尾找到包含源代码和jar的压缩包。)
https://stackoverflow.com/questions/126999
复制相似问题