一、 程序入口 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 给程序员使用。

更多相关文章

  1. .Net 转战 Android(安卓)4.4 日常笔记(4)--按钮事件和国际化
  2. Android(安卓)序列化对象接口Parcelable使用方法
  3. Android(安卓)Material Design:CoordinatorLayout与NestedScrollV
  4. 用Kotlin实现Android点击事件
  5. 使用GDB调试Android(安卓)NDK native(C/C++)程序
  6. Android应用框架之应用启动过程详解
  7. Android开发-面向对象的数据库Db4o
  8. Android中使用讯飞语音合成(报21001)组件未安装
  9. Android(安卓)gradle编译指令(implementation、api、provided 等)

随机推荐

  1. Android(安卓)基础总结:(二)Android(安卓)AP
  2. 用fastboot大刷Android(安卓)~换个方法刷
  3. android待机详细结合代码分析(二)
  4. IOS和Android(安卓)OpenGL游戏引擎的集成
  5. Android(安卓)核心分析(12) -----Android
  6. Android(安卓)连接WIF获取的信息剖析
  7. okhttp的应用详解与源码解析--android网
  8. [笔记] android/iOS自动化测试神器Appium
  9. 最新Android开发视频教程(共6章)Android(安
  10. React Native封装Android原生UI和Android