J2ME寫了有段時間了,就我自己掌握的一點機型適配經驗和大家分享下:
1. Canvas類的getHeight(),getWidth() 問題
這兩個方法在很多MOTO和三星手機上 都不能及時返回屏幕的高度和寬度,返回的數據可能不是真正的屏幕高度和寬度,從而導致畫面顯示的混亂。
【解決方案】:通常是用一個靜態變量保存屏幕高度和寬度,在閃屏進入時獲取一次屏幕高度和寬度賦給變量,然後在線程裏休眠一段時間,在線程結束時再獲取一次賦值給變量,後面的所有畫面就引用這個靜態變量的值,不要再用及時獲取getHeight(),getWidth() 值;
2. jad文件問題導致軟件安裝失敗
在有的MOTO手機上安裝軟件,會發生軟件錯誤,從而導致安裝失敗。拋開軟件本身BUG的問題,其實還有一個地方也是導致安裝失敗的原因,就是在打包時,你的jad文件.
例如這個jad文件有可能就會導致安裝失敗:
MIDlet-Jar-URL: XXBook.jar
MIDlet-Name: 瀟湘書院-官方版
MIDlet-Vendor: 上海世秋
MIDlet-Version: 1.0.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-2.0
MIDlet-1: 瀟湘書院,/icon.png,GameMIDlet
就是MIDlet-Vendor這裏,後面的中文名可能導致安裝失敗
【解決方案】:MIDlet-Vendor:後面最好是英文的公司信息,其他項中文問題暫未發現。
3. 圖片顯示不了
在有的MOTO和三星手機上莫名其妙的顯示不了圖片,這個問題其實也是手機支持的問題,有的手機不支持圖片alpha的顯示,也就是有透明度的圖片顯示。
【解決方案】:將圖片換成不透明的圖片
暫時發現這麼多,以後有的話再補充。
本文csdn原創,轉載請註明出處。謝謝!