调试GMS项目的一点小总结

调试GMS项目的一点小总结:
1、在手机上面运行程序,出项异常提示:null pointer无指针异常时,往往是因为在程序当中,我们访问了某个对象的成员变量或成员方法,而这个对象的值为null。
2、出现destroyAppException异常时,可能是因为我们在主程序的destroyApp()方法中有不合法的操作存在,比如fileSelector.stop(),但是我们又没有构造fileSelector这样一个对象的话,这个异常就会发生。
3、最关键的是刚开始运行的时候出现一个警告窗口提示:MIDlet-Name null,这是由于在主程序的startApp()方法中我们定义了这样一个警告窗口,目的是显示制作这个MIDlet的厂商,而在写程序时,语句出现了错误,本应是:getAppProperty("MIDlet-Vendor"),我却写成了System.getProperty("MIDlet-Vendor"),所以导致返回值为null,故警告窗口上面提示:MIDlet-Name null。
4、还有就是提示在后台运行,关键是没有显示出主界面。这也是编写程序时的错误。将主程序中startApp()方法中的if(!isAPIAvailable)中的叹号去掉,并在后面的setCurrent()中加上fileSelector即能够显示文件浏览主界面,也就不会出现在后台运行的错误提示了。
5、显示文件时,可能显示空,只需将类FileSelector中Case INIT_OP中的currentRoot=(FileConnection)(Connector.open(initDir,Connector.READ))这条语句,记住是Connector.Read若写成Connector.Read_Write就可能显示为空了。
6、还有就是out of memory内存越界异常。往往是图片过大,装入内存时越界,有时候其他异常没有了,这个异常也就没有了,有点奇怪。
小结:调试程序时,最好功能慢慢增加着调试,千万不要等着将所有程序代码全部写完之后再安装在手机上面调试,这样的话,当出现问题时就不容易分析产生错误的原因了。

你可能感兴趣的:(J2ME)