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