本文章的移植不是移植到硬件平臺而是移植軟件項目。
很多J2ME項目如何移植到Android平臺呢?Java雖然號稱是跨平臺應(yīng)用但是目前的移植問題還是比較嚴重的,不知道未來Sun推出JavaFx或F3時會出現(xiàn)什么問題,如何從J2ME移植到Android平臺上呢?下面我們來做簡單的分析。
1.圖形顯示 J2ME平臺虛擬機為Sun Midlet和Android Dalvik在顯示方面有極大的不同,這給游戲帶來了極大的困難,很多過去使用的精靈類等等在Android中不存在,同時Android中又出現(xiàn)了很多新的東西,在顯示方面會有很大的出入。
2.數(shù)據(jù)存儲 在J2ME中RMS這樣的系統(tǒng)可以方便的存儲些數(shù)據(jù),但Android并沒有它,但新增了一個更強大的SQLite,可以執(zhí)行SQL語言,但還是比較輕量級,不支持存儲過程等。這一點相信很多公司都有自己的數(shù)據(jù)定義格式,比如更通用的XML,在Android中有DOM XML解析器。
3.文件網(wǎng)絡(luò) 在Android中沒有多大的變化和J2ME一樣,用戶可以直接調(diào)用J2ME中的I/O接口完成相應(yīng)的工作,這一點還比較滿意,未來的情況會是什么樣子的,目前還不好說,因為Android又新增了一個網(wǎng)絡(luò)傳輸類,可以看出正在開發(fā)中,目前最新的M5 SDK中還不是很完善。
4.媒體影音 這一點Android比J2ME強大的多,支持的解碼器也多的多,兼容MPEG4, AAC, H.264, MP3, AMR, PNG, JPG, GIF基于OpenCORE引擎,這一點可以看出開源的東西利用的很到位。
5.SDK模擬器 在SDK文檔上Android就不如JME易讀了,這一點倒是微軟MSDN寫的很好,每個參數(shù)等等寫的清晰易讀,同時Google的文檔和IE7顯示不兼容,用的不是CHM文件而是HTML也是為了Linux和Mac OS考慮。而模擬器上J2ME為Sun通用的WTK或各手機公司的,而Android則采用開源Linux模擬器 Qemu,比較放心。
6.瀏覽器 在瀏覽器方面Android采用類似iPhone Safari的webkit內(nèi)核,至于效率可以說處理JS腳本大大超過IE和Firefox等東西,但內(nèi)存占用挺嚴重的,目前在移動上主要競爭對手為 Opera Mini。這一點J2ME無能為力了,畢竟JVM不能和系統(tǒng)比較。
說到最后還有很多東西,但我們注意到了Android和Symbian一樣都犯了一個向下兼容的問題,比如 Android移植問題,從m3升級到m5 自己的SDK升級需要大幅改進,這一點Windows Mobile平臺上的Win32 API可以說真正的跨桌面和移動平臺。
轉(zhuǎn)載請注明出處。