j2me是java 2 micro edition的缩写,是java 2平台的一个分支。 j2me包含了java 2的一些核心类(比如java.lang.*包),并进行了相关的扩展,使其更适应小型消费性电子设备上的运行环境。 j2me的架构是这样的:底层是kvm虚拟机,其上是平行的两部分:cldc(connected limited device configuration)和cdc(connected device configuration)。其中cldc是手机、PDA之类的资源有限,能力有限的设备上的配置;cdc则是数字电视机顶盒、智能冰箱之类的资源相对宽松的设备上的配置。所有实现这些配置的设备必须遵守这里规范。比方说,你想从这所大学毕业,就必须按这个大学的套路来走。这里的套路就是cldc和cdc规定的条款。且不管大学里是多么黑暗,多么利益驱使,反正这就是规范,你就得按它的规定来办事。这就CLDC和CDC的作用。 在cldc上是midp(mobil information device protocol), 它的抽象程度更高,提供的服务更高级。如果你是要做移动设备上的程序,一般需要接触cldc和midp。cldc 目前常用的有cldc 1.0和1.1版本,其中1.0中不提供浮点运算支持,需要你自己来模拟实现。midp一般有1.0和2.0的区分,手机设备有老的机型,比如nokia 7210支持midp 1.0,新的手机大部分都支持midp 2.0,当然midp 2.0提供的服务要smooth许多,但为了程序在不同机型上的兼容性,还是要忍痛使用1.0。 j2me中的低层事件有很多了,我难以一下都列举出来,如果需要列举,也得捧一个参考手册了。比如keypressed(),keyreleased(),这些都是低级的按键事件,都是在键按下和释放时响应的。 高层事件就不说了,可以参考一个j2medev.com出的电子书(一个参考手册),也可以参考一本台湾王森写的书,《Java手机程序设计入门》,写的很详细,很适合入门。 大哥,怎么看这些问题这么经典啊,好象哪本书里见过。 生命周期在刚才介绍的那本书里也有。启动是startApp(),暂停是pauseApp(),结束是stopApp(),我说的太笼统,最好参考王森的书,上面连图都有,很清晰的。我也懒得再写一遍,背也没记住。 后面的问题太多了,拣几个上班经常涉及到的问题回答吧。 MIDlet的开发流程?看来哥们是想涉及手机游戏行业吧。开发流程很随意,但基本框架和流程是一样的:写一个类,继承midlet类,然后重载(或是实现?也没仔细看startApp()在父类里是虚函数否)startApp(),一般是get一个display,然后setdisplay。这里的这个display一般会继承canvas,或者fullcanvas(nokia的),然后implements runnable接口。在这个run()里控制游戏的流程。当这个display失去焦点的时候会调用hidenotify()方法,重新获得焦点的时候调用shownotify,所以你如果有一些处理需要写的话,就写在这两个方法里。最经常的应用就是声音的处理。来电后一般都要stopsound(),并且记录游戏状态,切回去的时候一般都重新播放声音,并恢复游戏。 图片处理的问题很多,一般需要注意的问题比如:图形的优化,减少颜色数来降低图形的字节数,有时候为了节省空间,还要使用图形转二进制并在运行时还原的技术。 http://myprogram.eicp.net/three/computer/chenxu/program.html
j2me学习的一些经验和感受(转)
最新推荐文章于 2025-08-23 19:36:46 发布