`
hellsing42
  • 浏览: 262019 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转载:Android和j2me的初级对比

阅读更多
一、 程序入口
J2me程序入口类为 MIDlet,所有的 j2me程序都要继承该类来初始化 j2me程序。 Android程序入口是 Activity类。下面先看看她们的生命周期。
J2me MIDlet 生命周期
1 startApp (活动状态)程序启动的时候会调用该方法来初始化用户需要的资源。
2 PauseApp (暂停状态)当手机来电接电话的时候,会调用该接口。用户可以调用该接口停止也写线程的操作。
3 destroyApp (销毁状态)程序退出的时候调用。用户可以调用该接口处理处于活动状态的线程。
该几个周期状态有 AMS 调用转换,也可以程序代码调用转换。 resumeRequest 调用会的结果是 AMS 会调用 startApp 方法, notifyPaused 调用的结果是可能 AMS 调用 PsuseApp notifyDestroyed 调用会使 AMS 销毁该 midlet
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 中所有可显示的组件都是直接或间接的继承了 Displayable ,直接的是 Canvas Screen 。不同的继承导致了低级 UI 和高级 UI 的区别。 J2me 中现成的 UI 组件都是直接或者间接继承了 Screen 。只要调用 Display.getDisplay(MIDLet instan).setCurrrent(Displayable disp) ,就可以把组件显示到手机界面上。切换界面的时候也可以使用该接口。
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 的键盘、触笔事件都是通过 Canvas 定义接口分发。用户只需要从写这些接口就 ok 。它们分别是。键盘接口为: keyPressed(),keyRepeated(),keyReleased() 。触笔接口为: pointerPressed(),pointerReleased(),pointerDragged()
Android 的键盘,触笔通过 View 中定义,只要 override 其接口就 ok 了。触笔处理接口 onTouchEvent 。软键盘 onKeyDown() onKeyUp() onTracKballEvent()
五、 总结
Android提供更多、更全面、更详细、更广泛的 api给程序员使用。
分享到:
评论

相关推荐

    Android代码-安卓J2ME模拟器

    开发者可以通过J2ME-Loader在Android设备上重温那些经典的J2ME游戏和应用。 **工作原理** J2ME-Loader的工作原理是通过解析和模拟J2ME的MIDlet(Mobile Information Device Profile)规范来执行J2ME应用程序。...

    j2me移植Android引擎

    8. **性能优化**:Android设备性能各异,移植时需注意内存管理和性能优化,避免在Android上出现J2ME中的性能问题。 9. **中间件引擎**:如描述中的“实现J2ME接口的游戏引擎”,可能是为了简化移植过程,通过这样的...

    分享:J2ME游戏代码(代码已经初级优化)

    分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME...

    java源码:手机游戏J2ME毕业设计.rar

    Java源码:手机游戏J2ME毕业设计是一个典型的Java编程项目,主要针对移动设备,特别是老一代的智能手机和平板电脑。J2ME,全称Java Micro Edition,是Java平台的一个子集,专为资源有限的嵌入式设备设计,如手机、...

    经典游戏下载:疯狂对对碰J2ME源码版

    4. **动画效果**:在J2ME中,通过定时器(Timer)和线程控制(Thread)来实现游戏内的动画效果,如方块下落、消除爆炸等,需要考虑帧率控制和同步问题。 5. **资源管理**:游戏中的图像、声音等资源管理在J2ME中也...

    j2me_android_sdk1.16

    7. **用户界面适配**:Android与J2ME的用户界面设计原则不同,因此可能需要调整UI布局和交互方式,以符合Android的设计规范和用户体验标准。 总之,"j2me_android_sdk1.16"为开发者提供了一种有效途径,将他们的...

    Android与J2ME平台间即时通信的研究与实现

    - **应用程序层**:Android自带了一些核心的应用程序,包括电子邮件客户端、短信程序、日历等,这些应用程序都是用Java语言编写的。 ##### 2.2 J2ME平台 J2ME是专门为嵌入式电子产品开发的Java语言版本,适用于...

    Android_j2me.rar_android_j2me android_jbox2d.jar

    2. "3-12-6(横竖屏切换处理)":Android设备的屏幕方向切换是游戏开发中常见的需求,开发者需要学会如何处理屏幕旋转,确保游戏界面和逻辑在不同屏幕方向下都能正常工作。 3. "4-13(操作游戏主角)":这部分可能涉及...

    适合练手、课程设计、毕业设计的Java项目源码:基于J2ME的手机游戏开发(论文+源代码).rar

    适合练手、课程设计、毕业设计的Java项目源码:基于J2ME的手机游戏开发(论文+源代码).rar 适合练手、课程设计、毕业设计的Java项目源码:基于J2ME的手机游戏开发(论文+源代码).rar 适合练手、课程设计、毕业设计的...

    j2me移植android

    5. **设备兼容性**:Android设备有多种屏幕尺寸和分辨率,因此需要确保移植后的应用能在不同设备上正常显示。使用Android的布局和尺寸单位可以实现更好的适配。 6. **第三方库处理**:如果J2ME应用使用了第三方库,...

    J2ME开发 J2ME开发 J2ME开发

    J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于...随着移动技术的发展,虽然现在Android和iOS占据主导地位,但J2ME的历史地位和其在物联网设备中的应用依然有价值,特别是对于旧设备的维护和升级。

    J2ME教材:J2ME&Gaming中文版

    J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能手表等。这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的应用,为初学者提供了学习J2ME编程...

    J2ME游戏移植到Android手机

    【J2ME游戏移植到Android手机】是一个技术性较强的主题,涉及到两个不同的移动平台:Java ME(J2ME)和Android。J2ME是早期移动设备上广泛使用的开发框架,而Android则是现代智能手机的主要操作系统。当需要将J2ME...

    J2ME-Game:简单的J2ME游戏

    随着Android和iOS的兴起,J2ME逐渐失去了市场份额,因为这些现代平台提供了更强大的性能和丰富的开发工具。不过,对于学习游戏开发基础和理解跨平台移动编程,J2ME仍是一个有价值的起点。 **总结** J2ME游戏开发...

    Android-development.rar_android_game android J2ME_site:en.pudn.c

    3. **J2ME到Android的移植策略**:讲解如何将J2ME的游戏逻辑、资源和控制机制迁移到Android,可能包括兼容性处理和性能优化。 4. **实例演示**:通过一个或多个实际的游戏案例,展示界面设计和移植过程,帮助读者...

    android上的j2me sdk1.zip

    总结来说,Android上的J2ME SDK1.8为开发者提供了一种途径,使得他们能够在Android设备上运行和开发J2ME应用,扩展了J2ME应用的生命周期,并且可能包含了对新Java 1.8特性的支持,从而提高了开发效率和应用性能。...

    开发中j2me与android的对比

    在IT行业中,移动应用开发是不可或缺的一部分,而JavaME(J2ME)和Android作为两个主要的移动开发平台,有着各自的特点和优劣。本文将深入对比这两个平台,以帮助初学者更好地理解它们的差异。 首先,从平台层面来...

    android平台中使用j2me MIDP2.0中GameAPI

    1. **兼容性问题**:Android与J2ME在内存管理、线程模型和UI系统等方面存在差异,需要对代码进行适配。 2. **性能优化**:Android设备的硬件性能远超J2ME,但为了保证流畅的游戏体验,仍需进行性能优化,如减少不必...

    j2me集合众多初级资源

    **J2ME集合众多初级资源** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门设计用于移动设备、嵌入式系统和有限计算能力的设备。这个资源集合为初学者提供了全面的学习材料,帮助他们快速掌握J2ME...

Global site tag (gtag.js) - Google Analytics