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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章