程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME最佳實踐(二)——系統適配

J2ME最佳實踐(二)——系統適配

編輯:J2ME

J2ME規范包括了許多可選包,如支持多媒體功能的MMAPI,支持消息接收和發送的WMA,支持3D游戲的M3G API。如果某一款手機支持某個可選API,MIDP應用程序就可以使用它。但是,讓用戶回答“本機是否支持MMAPI”是不友好的,發布幾個不同版本不但增加了開發的工作量,也讓用戶難以選擇。因此,應用程序應該自己檢測手機是否支持某一API,從而在運行期決定是否可以使用此API。

MIDP 1.0和2.0應用程序都可以通過System.getProperty(String key)檢測某一個屬性的信息。如果該屬性有效,將返回對應的字符串,否則,返回null,表示系統不支持此功能。

例如,System.getProperty("microedition.profiles")可能的返回值是"MIDP-1.0"或"MIDP-2.0"。

以下是常見的系統屬性和可選API的屬性,右側列出了可能的返回值:

系統信息

 

microedition.platform

平台名稱,如J2ME

microedition.configuration

CLDCCDC版本,如CLDC-1.0

microedition.profiles

MIDP版本,如MIDP-1.0

microedition.encoding

默認的系統編碼,如GBK

microedition.locale

默認的區域設置,如zh-CN

MMAPI相關

 

microedition.media.version

MMAPI的版本,如1.1

supports.mixing

是否支持混音,如true

supports.audio.capture

是否支持音頻捕獲,如true

supports.video.capture

是否支持視頻捕獲,如true

supports.recording

是否支持錄音,如true

audio.encodings

音頻編碼格式,如encoding=pcm encoding=pcm&rate=8000&bits=8&channels=1

video.snapshot.encodings

拍攝圖片的編碼格式,如encoding=jpeg encoding=png

streamable.contents

支持的流媒體格式,如audio/x-wav

WMA相關

 

wireless.messaging.sms.smsc

返回SMS的服務中心,如+8613800010000

wireless.messaging.mms.mmsc

返回MMS的服務中心,如http://mmsc.monternet.com

其他

 

microedition.m3g.version

返回Mobile 3D的版本,如1.0

bluetooth.api.version

返回藍牙API的版本,如1.0

microedition.io.file.FileConnection.version

返回FileConnection的版本,如1.0

microedition.pim.version

返回PIM的版本,如1.0

例如,如果用戶的手機內置了數碼相機,並且支持MMAPI,我們就可以在MIDP程序中拍攝照片。因此,在應用程序啟動時就應該判斷是否啟用拍照功能以及用戶手機支持的圖片編碼格式:

boolean supports_take_photo = false;
boolean supports_jpeg_encoding = false;
boolean supports_png_encoding = false;
boolean supports_gif_encoding = false;
if(System.getProperty("microedition.media.version")!=null) {
    if("true".equals(System.getProperty("supports.video.capture")))
        supports_take_photo = true;
        String all_encoding = System.getProperty("video.snapshot.encodings");
        if(all_encoding!=null) {
            if(all_encoding.indexOf("jpeg")!=(-1))
                supports_jpeg_encoding = true;
            if(all_encoding.indexOf("png")!=(-1))
                supports_png_encoding = true;
            if(all_encoding.indexOf("gif")!=(-1))
                supports_gif_encoding = true;
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved