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

Android和j2me的初级对比

阅读更多
一、程序入口
J2me程序入口类为MIDlet,所有的j2me程序都要继承该类来初始化j2me程序。Android程序入口是Activity类。下面先看看她们的生命周期。
J2me MIDlet生命周期
1startApp (活动状态)程序启动的时候会调用该方法来初始化用户需要的资源。
2PauseApp (暂停状态)当手机来电接电话的时候,会调用该接口。用户可以调用该接口停止也写线程的操作。
3destroyApp (销毁状态)程序退出的时候调用。用户可以调用该接口处理处于活动状态的线程。
该几个周期状态有AMS调用转换,也可以程序代码调用转换。resumeRequest调用会的结果是AMS会调用startApp方法,notifyPaused调用的结果是可能AMS调用PsuseAppnotifyDestroyed调用会使AMS销毁该midlet
Android Activity生命周期
1onCreate 程序开始初始化的时候调用该接口,用户导航返回到Activity的时候也会调用该接口。类似于J2me里面多个Canvase(Displayable)切换。所以Activity也类似于Displayable
2onStart onCreate调用完后,程序调用该接口。
3onResume onStart调用后调用该接口。此时Activity进入运行状态。
4onPause 新的Activity启动的时候调用该接口。
5onStop Activity 不可见的时候调用。
6onDestroy 程序销毁的时候调用。
二、显示组件
J2me中所有可显示的组件都是直接或间接的继承了Displayable,直接的是CanvasScreen。不同的继承导致了低级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可以通过Canvasrepain()来刷新。低级UI架构可以用MVC方式来实现,建议使用二级缓存。
Android刷新:
Android提供接口onLayout来提供该View调整其里面组件元素的位置布局,用户只需要重写该接口就ok。刷新接口onDraw,该接口用来刷新界面里面的绘制元素。该接口类似j2me Canvaspaint接口。不过两个平台传得参数有些意思。J2me传的时Graphics,而android传得是CanvasAndroid绘制的时候会传入一个参数Paint。该对象表示绘制的风格,比如颜色,字体大小,字体格式等。如果是移植的话,建议android也使用二级缓存,这样也容易管理。
四、用户事件处理
J2me的键盘、触笔事件都是通过Canvas定义接口分发。用户只需要从写这些接口就ok。它们分别是。键盘接口为:keyPressed(),keyRepeated(),keyReleased()。触笔接口为:pointerPressed(),pointerReleased(),pointerDragged()
Android的键盘,触笔通过View中定义,只要override其接口就ok了。触笔处理接口onTouchEvent。软键盘onKeyDown()onKeyUp()onTracKballEvent()
五、总结
Android提供更多、更全面、更详细、更广泛的api给程序员使用。
分享到:
评论

相关推荐

    j2me移植Android引擎

    J2ME是Java平台的一个子集,主要用于移动设备和嵌入式系统,而Android则是一个开源的操作系统,主要应用于智能手机和平板电脑。在移动开发领域,随着Android的普及,很多J2ME开发者有需求将已有的J2ME应用移植到...

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

    通过对比分析Android与J2ME平台的特点,并结合XMPP协议的优势,本文提出了一种实现Android与J2ME平台间即时通信的方法。该方法不仅满足了不同智能手机平台间的通信需求,而且具有较好的兼容性和可扩展性。未来,随着...

    Android_j2me.rar_android_j2me android_jbox2d.jar

    "Android_j2me.rar"这个压缩包显然包含了针对Android操作系统进行J2ME(Java Micro Edition)游戏开发的一些关键资源和教程,旨在帮助初学者入门。其中,“android_jbox2d.jar”是用于实现物理模拟的重要库,而其他...

    j2me_android_sdk1.16

    通过这个工具,J2ME的游戏和应用程序可以在Android设备上运行,保持原有的功能和用户体验,同时利用Android设备的硬件优势,如多点触控、高分辨率屏幕和更强大的处理能力。 在实际使用过程中,开发者需要熟悉以下...

    J2ME-Loader,一个用于android的j2me模拟器。.zip

    j2me loader是一个针对android的j2me模拟器。它支持大多数二维游戏,也有一些限制三维(吉祥物胶囊三维游戏不工作)。Emulator有一个虚拟键盘、每个应用程序的单独设置、缩放支持。

    开发中j2me与android的对比

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

    快速转化J2ME程序为Android程序

    随着Android智能手机的普及,许多开发者面临的问题是如何将原有的J2ME应用程序高效地迁移到Android平台,以利用更广泛的设备和用户基础。J2MEBuilder,一个名为android_midp.jar的中间件API库,正是为了解决这一问题...

    j2me移植到android的代码封装

    在移动开发领域,Java 2 Micro Edition(J2ME)曾是开发小型设备应用程序的主流平台,而Android现已成为智能手机和平板电脑的主要操作系统。当需要将J2ME应用移植到Android时,会遇到一些兼容性问题,因为两者的核心...

    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

    然而,随着智能手机的普及,Android成为了主流的操作系统,许多开发者和用户开始寻找将J2ME应用移植到Android平台的方法。本文将详细介绍J2ME应用移植到Android的步骤、挑战以及解决方案。 首先,理解两者之间的...

    Android代码-安卓J2ME模拟器

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

    J2ME游戏移植到Android手机

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

    J2ME,J2EE与Android开发学习资料

    Java技术在移动和企业应用开发领域占据着重要地位,其中J2ME、J2EE和Android是三个关键的分支。本学习资料集涵盖了这三个领域的核心概念、技术和实践,旨在帮助开发者深入理解并掌握它们。 首先,J2ME(Java 2 ...

    j2me初级练习源码

    本程序是j2me的helloworld初级程序,对初学j2me者非常有帮助,有助于大家快速入门。里面还有个小的秒表程序。因为本程序是有eclipse开发,大家只需要解压,然后导入eclipse即可看到效果,可以边测试边学习。有啥问题...

    j2me_android_sdk_1.0

    Android下实现的J2ME API类库,使用此SDK可以无缝将你J2ME APP移植成android APP, 支持MIDP2.0、cldc1.0,WMA,jsr75等常用API 20111204更新新版: 1 JAD.MF文件:增加屏幕方向设置 2 JAD.MF文件:增加游戏专用摇杆...

    android J2ME加载器 可以在android机上运行java游戏

    Android平台上的J2ME加载器是一款特殊的软件,它允许用户在Android设备上运行基于Java ME(J2ME)开发的游戏和应用程序。Java ME是Java的一个轻量级版本,主要用于移动设备和嵌入式系统,因此许多早期的移动游戏都是...

    Android通过J2ME的录音功能实现简易示波器

    总的来说,这个示波器实现通过J2ME和LWUIT展示了在Android设备上进行音频捕获和实时可视化的基本步骤。尽管可能不如现代智能机上的解决方案那样性能强大,但它提供了一个基础框架,对于学习音频处理和移动应用开发...

Global site tag (gtag.js) - Google Analytics