转载自:http://www.bebekan.com.cn/
程序入口
J2ME
J2ME程序入口类为MIDlet,所有的J2ME程序都要继承该类来初始化J2ME程序。
Android
Android程序入口是Activity类。
生命周期
J2ME
J2ME MIDlet生命周期
1、startApp (活动状态)程序启动的时候会调用该方法来初始化用户需要的资源。
2、PauseApp (暂停状态)当手机来电接电话的时候,会调用该接口。用户可以调用该接口停止也写线程的操作。
3、destroyApp (销毁状态)程序退出的时候调用。用户可以调用该接口处理处于活动状态的线程。
该几个周期状态有AMS调用转换,也可以程序代码调用转换。resumeRequest调用会的结果是AMS会调用startApp方法,notifyPaused调用的结果是可能AMS调用PsuseApp,notifyDestroyed调用会使AMS销毁该midlet。
Android
Android Activity生命周期
1、onCreate 程序开始初始化的时候调用该接口,用户导航返回到Activity的时候也会调用该接口。类似于J2ME里面多个Canvase(Displayable)切换。所以Activity也类似于Displayable。
2、onStart onCreate调用完后,程序调用该接口。
3、onResume onStart调用后调用该接口。此时Activity进入运行状态。
4、onPause 新的Activity启动的时候调用该接口。
5、onStop 该Activity 不可见的时候调用。
6、onDestroy 程序销毁的时候调用。
显示组件
J2ME
J2ME中所有可显示的组件都是直接或间接的继承了Displayable,直接的是Canvas和Screen。不同的继承导致了低级UI和高级UI的区别。J2ME中现成的UI组件都是直接或者间接继承了Screen。只要调用Display.getDisplay(MIDLet instan).setCurrrent(Displayable disp),就可以把组件显示到手机界面上。切换界面的时候也可以使用该接口。
Android
Android可见的组件直接或者间接继承了android.view.View。通过Activity.setContentView(View view)就可以显示在android手机界面上,切换界面的时候也可以使用该接口。如果是直接继承了View而不是Android自带的UI组件,那么还要自己去实现它的刷新,类似J2ME的低级UI组件。
刷新处理
J2ME
J2ME高级UI组件由组件内部刷新实现,低级UI可以通过Canvas的repain()来刷新。低级UI架构可以用MVC方式来实现,建议使用二级缓存。
Android
Android提供接口onLayout来提供该View调整其里面组件元素的位置布局,用户只需要重写该接口就ok。刷新接口onDraw,该接口用来刷新界面里面的绘制元素。该接口类似J2ME Canvas的paint接口。不过两个平台传得参数有些意思。J2ME传的时Graphics,而android传得是Canvas。Android绘制的时候会传入一个参数Paint。该对象表示绘制的风格,比如颜色,字体大小,字体格式等。如果是移植的话,建议android也使用二级缓存,这样也容易管理。
用户事件处理
J2ME
J2ME的键盘、触笔事件都是通过Canvas定义接口分发。用户只需要从写这些接口就OK。它们分别是。键盘接口为:keyPressed(),keyRepeated(),keyReleased()。触笔接口为:pointerPressed(),pointerReleased(),pointerDragged()。
Android
Android的键盘,触笔通过View中定义,只要override其接口就ok了。触笔处理接口onTouchEvent()。软键盘onKeyDown()、onKeyUp()、onTracKballEvent()。
分享到:
相关推荐
字体操作在J2ME中相对简单,而在Android中,需要更多步骤来创建和设置字体。绘制图像和文本,J2ME使用drawImage和drawString,Android对应的方法为drawBitmap和drawText,且有多个重载版本。设置剪切区域,J2ME的...
【J2ME游戏移植到Android手机】是一个技术性较强的主题,涉及到两个不同的移动平台:Java ME(J2ME)和Android。J2ME是早期移动设备上广泛使用的开发框架,而Android则是现代智能手机的主要操作系统。当需要将J2ME...
J2ME虽然现在已被更现代的框架如Android取代,但对于了解移动开发的历史和基础,以及学习嵌入式系统编程,仍然具有一定的价值。通过这些实例,你可以掌握如何在资源有限的环境中开发高效、用户友好的应用程序。
【Android通过J2ME的录音功能实现简易示波器】是一种利用J2ME的多媒体应用编程接口(MMAPI)在Android设备上构建一个简单的模拟示波器的方法。虽然使用智能机可以实现实时读取麦克风输入流,提供更流畅的体验,但...
通过以上知识点的学习和实践,开发者不仅可以完成一款简单的Android贪吃蛇游戏,还能进一步提升自己的Android开发技能。对于初学者来说,这是一个很好的项目实践,可以帮助他们巩固基础知识并了解实际开发流程。而...
J2ME应用的数据存储一般采用RecordStore系统,这是一个简单的键值对数据库,用于保存用户数据和游戏进度。 8. **优化技巧** 由于资源限制,J2ME游戏需要进行性能优化。例如,减少绘图调用、使用位图操作而非颜色...
Java 2 Micro Edition (J2ME) 是一种用于开发小型设备和嵌入式系统的 Java 平台,尤其在早期的移动设备和智能...虽然现代移动平台更多地转向了 Android 和 iOS,但 J2ME 仍然是学习游戏开发原理和低级优化的好起点。
同时,理解如何实现简单的物理规则,如重力和速度,是创建这类游戏的关键。 4. **贪吃蛇游戏开发** 贪吃蛇游戏是一个经典的J2ME编程练习。它包括蛇的移动逻辑、食物生成、边界处理、碰撞检测等部分。蛇的身体由多...
尽管现代移动开发更多地转向Android和iOS,但J2ME的基础概念和技术仍然有价值,对于理解跨平台移动开发原理以及设备适配等问题有帮助。 **应用场景** J2ME曾广泛应用于早期的移动游戏、应用程序和服务,如简单的...
**J2ME开发入门** Java 2 Micro Edition (J2ME) 是Java平台的一个子集,主要用于嵌入式系统和移动设备,...随着移动技术的发展,虽然现在更多地转向了Android和iOS,但J2ME的基础知识仍然对理解移动开发原理有所帮助。
**J2ME小程序详解** Java 2 Micro Edition(J2ME)是Java平台的一个...虽然现在J2ME已逐渐被Android和iOS等现代平台取代,但对于了解移动开发的历史和技术演进,以及在某些特定场景下的应用,J2ME仍有其独特的价值。
随着Android和iOS的崛起,J2ME在现代手机游戏开发中的地位已不如从前。然而,对于学习移动游戏开发历史和理解跨平台编程原理,J2ME仍然有价值。 综上所述,基于J2ME的手机游戏开发涉及到多个技术层面,包括环境配置...
尽管现在智能手机和平板电脑已经普遍采用更先进的平台,如Android和iOS,J2ME游戏仍然代表了移动游戏发展的一个重要阶段。它们展示了即使在资源受限的环境下,开发者也能创造出引人入胜的游戏体验。对于那些怀旧或者...
**J2ME游戏开发** ...虽然现在许多现代移动设备已经转向更强大的平台如Android和iOS,但J2ME仍然是学习游戏开发和理解移动应用基础的好起点。它的轻量级特性和跨平台能力使其在特定场景下仍有其价值。
- **移动平台的演进**:随着Android和iOS的兴起,J2ME的市场份额有所下降,但仍有其独特应用场景。 总之,J2ME是开发面向移动和嵌入式设备的Java应用程序的重要平台,虽然现代移动市场有更多选择,但了解J2ME的...
总的来说,基于J2ME的手机聊天软件是一个融合了网络编程、多线程、用户界面设计、性能优化和安全策略的综合性项目,它展示了J2ME在开发移动应用上的能力,尽管现在随着智能手机的发展,J2ME已逐渐被Android和iOS等...
随着Android和iOS的崛起,J2ME在智能手机市场的份额逐渐减少。然而,在物联网(IoT)和一些低功耗设备领域,J2ME仍然有其存在价值,因为它的跨平台能力和小内存占用仍然是一个显著优势。 **学习资源** 全面的J2ME...
尽管现代移动开发已转向Android和iOS,J2ME在某些领域仍有其价值,特别是在物联网设备和低功耗设备上。然而,J2ME的局限性,如性能限制和缺乏现代化的UI框架,也促使开发者寻找更先进的解决方案。 总的来说,了解...
在这个领域,J2ME以其跨平台性和丰富的功能库而受到广泛欢迎。本文将围绕“吃豆子”游戏的源代码进行解析,帮助读者深入理解J2ME的游戏开发技巧和设计思路。 一、游戏框架构建 “吃豆子”游戏是一款经典的休闲游戏...