Android和j2me的初級對比

來源:互聯網
上載者:User
一、程式入口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給程式員使用。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.