首先你應該清楚J2ME平臺的體系結構,如果你還不夠熟悉的話可以參考J2ME平臺的體系結構
什么是J2ME可選包?可選包其實就是一系列的API的集合,但是他們并不能定義整個應用程序的運行環境,而是對標準運行環境的擴展來支持特定設備的特定屬性,他們必須和Configuration和PRofile聯合起來使用。例如Nokia 3650是支持CLDC1.0+MIDP1.0,同時它也提供了對可選包WMA的支持。通常設備制造商控制了哪個可選包可以在他的相關產品上得到實現,如果可選包沒有作為運行環境事先裝載到設備上的話那么就不可能使用它們。
     對開發者來說,使用可選包比較的簡單,因為事實上它就是一系列的API集合,你只需要把它包括到classpath里面就可以使用了,最后打包的時候這些API的包并不跟隨發布,他們的運行環境在設備上已經提供了。在你開發之前確保你要使用的可選包在你的目標設備上已經得到了支持,通常我們可以參考設備相關的開發文檔,一般官方網站都會提供的。你也可以通過小程序在設備上進行測試。
public static boolean isWMAPresent(){
    try {
        Class.forName(
               "javax.wireless.messaging.MessageConnection" );
        return true;
    }
    catch( Exception e ){
        return false;
    }
}
下面簡單介紹幾個在我們開發中可能會用到的可選包。如果你想獲得更多的信息的話請參考sun官方網站
        MessageConnection conn = null;
        String url = "sms://+417034967891";
        try 
        {
           conn = (MessageConnection) Connector.open( url );
           TextMessage msg = conn.newMessage( conn.TEXT_MESSAGE );
           msg.setPayloadText( "Please call me!" );
           conn.send( msg );
        }
        catch( Exception e ){
    // handle errors
        }
       finally {
          if( conn != null ){
          try { conn.close(); } 
           catch( Exception e ){}
            }
       }
                 3. MMAPI可選包
      Mobile Midea API提供了對處理多媒體數據的支持,通過它你可以播放聲音視頻等等,下面是簡單的代碼描述:
import java.io.*;
import javax.microedition.media.*;
try {
    Player p = Manager.createPlayer(
                 "http://somesite.com/music.mp3" );
    p.start();
}
catch( IOException ioe ){
}
catch( MediaException me ){
}
        現在你清楚J2ME可選包的概念了吧:)
(出處:http://m.survivalescaperooms.com)
新聞熱點
疑難解答