<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-72  評(píng)論-63  文章-0  trackbacks-0
    一、J2ME中需要的Java基礎(chǔ)知識(shí)
      
      現(xiàn)在有大部分人,都是從零開始學(xué)J2ME的,學(xué)習(xí)J2ME的時(shí)候,總是從Java基礎(chǔ)開始學(xué)習(xí),而且現(xiàn)在講Java基礎(chǔ)的書籍中都是以J2SE來講基礎(chǔ),這就給學(xué)習(xí)造成了一些不必要的麻煩,下面將J2ME中用到的和不需要的Java基礎(chǔ)知識(shí)做一個(gè)簡單的說明。
      
      J2ME中使用到的Java基礎(chǔ)知識(shí):
      
      1、Java語法基礎(chǔ):包括基本數(shù)據(jù)類型、關(guān)鍵字、運(yùn)算符等等
      
      2、面向?qū)ο蟮乃枷耄侯惡蛯?duì)象的概念,繼承和多態(tài)等等。
      
      3、異常處理
      
      4、多線程
      
      J2ME中沒有用到的Java基礎(chǔ)知識(shí):
      
      1、JDK中javac和java命令的使用
      
      2、Java基礎(chǔ)中的很多類在J2ME中沒有,或者類中的方法做了大量的精簡。所以建議在J2ME中熟悉類庫。
      
      3、Applet、AWT、Swing這些知識(shí)在J2ME中根本使用不到。
      
      簡單說這么多,希望學(xué)J2ME的朋友們能少走一些彎路,不足之處希望大家積極指正和補(bǔ)充。
      
      二、J2ME中暫時(shí)無法完成的功能
      
      列一些J2ME中暫時(shí)無法完成的功能,希望大家能積極補(bǔ)充:
      
      1、在手機(jī)中不更改代碼實(shí)現(xiàn)移植,主要指游戲。
      
      2、動(dòng)態(tài)修改按鈕文字。
      
      3、在Canvas上接受中文輸入。
      
      4、操作本地資源、例如地址本、已收短信息等。
      
      5、制作破壞性的手機(jī)病毒。
      
      6、其他等待大家來補(bǔ)充。
      
      三、J2ME的跨平臺(tái)性
      
      J2ME技術(shù)源于Java,所以也具有JVM的優(yōu)勢,可以在支持Java的平臺(tái)上進(jìn)行移植,但是現(xiàn)在的J2ME技術(shù)在跨平臺(tái)上卻做的很糟糕,我們來簡單看一下原因:
      
      1、手機(jī)的屏幕尺寸不一:
      
      這個(gè)主要在界面制作上。如果你使用的是高級(jí)用戶界面,比如你做的是應(yīng)用開發(fā)或者用戶登陸、用戶注冊(cè)這樣的通用功能時(shí),一般沒有什么問題。
      
      如果你使用的是低級(jí)用戶界面,比如你做的是游戲,那么你就需要考慮這個(gè)問題了。
      
      2、廠商的擴(kuò)展API不統(tǒng)一:
      
      例如Nokia的擴(kuò)展API類庫UI系列,在別的手機(jī)上或者沒有實(shí)現(xiàn),或者包名不同等等。
      
      3、手機(jī)平臺(tái)上實(shí)現(xiàn)的bug:
      
      例如Nokia的7650在實(shí)現(xiàn)雙緩沖上有bug,那么在這種機(jī)型上運(yùn)行的軟件就不能使用雙緩沖。其他NOKIA上的一些bug,可以參看:http://blog.csdn.net/Mailbomb/archive/2005/03/24/329123.aspx
      
      4、手機(jī)性能問題。
      
      不同手機(jī)的可用內(nèi)存、最大jar文件都有要求,例如Nokia S40的大部分手機(jī)支持的最大jar文件為64K,最大可用內(nèi)容為210K。
      
      所以現(xiàn)在的手機(jī)軟件,特別是游戲都提供支持的機(jī)型列表,也才有了手機(jī)游戲移植人員的存在。
      
      四、學(xué)習(xí)J2ME可以從事的工作種類
      
      現(xiàn)在J2ME技術(shù)可以說相當(dāng)?shù)幕鸨@里介紹一些學(xué)好了J2ME之后可以從事的工作的種類:
      
      1、J2ME游戲開發(fā)人員
      
      根據(jù)游戲策劃或者文檔要求,在某種特定的機(jī)型(以Nokia S40或S60居多)開發(fā)游戲程序。這是現(xiàn)在大部分J2ME程序員從事的工作。
      
      需要熟練掌握:高級(jí)用戶界面、低級(jí)用戶界面、線程,如果是網(wǎng)絡(luò)游戲,還需要熟練網(wǎng)絡(luò)編程。
      
      2、J2ME應(yīng)用開發(fā)人員
      
      現(xiàn)在的移動(dòng)應(yīng)用還不是很多,但是還是出現(xiàn)了一些,特別是移動(dòng)定位以及移動(dòng)商務(wù)相關(guān)的內(nèi)容。需要熟練掌握:高級(jí)用戶界面、線程和網(wǎng)絡(luò)編程。
      
      3、J2ME游戲移植人員
      
      參照源代碼,將可以在一個(gè)平臺(tái)上可以運(yùn)行的游戲移植到其他平臺(tái)上去。例如將Nokia S40的游戲移植到S60上,或者索愛的T618等等。主要是控制屏幕坐標(biāo),有些可能需要替換一些API。
      
      需要熟悉各平臺(tái)之間的差異以及相關(guān)的技術(shù)參數(shù),比如屏幕大小、最大jar文件尺寸等等。
      
      五、J2ME程序設(shè)計(jì)的幾個(gè)原則
      
      1、使用面向?qū)ο缶幊獭?br />  
      雖然使用面向過程編程可以減小文件的尺寸,但是為了以后維護(hù)的方便和利于擴(kuò)展,還是要使用面向?qū)ο缶幊獭?br />  
      2、使用MVC模式
      
      將模型、界面和控制分離。現(xiàn)在很多的程序?qū)⑷吆弦唬侨绻阕龅某绦虮容^大的話,還是建議你進(jìn)行分離。
      
      3、自動(dòng)存儲(chǔ)用戶設(shè)定
      
      使用RMS來存儲(chǔ)用戶的信息,例如存儲(chǔ)用戶上次輸入的用戶名、密碼、用戶對(duì)于系統(tǒng)的設(shè)定等,這樣不僅可以減少用戶的輸入,而且對(duì)用戶友好。很多程序甚至做了自動(dòng)登陸等。
      
      4、一些系統(tǒng)設(shè)置允許用戶關(guān)閉。如背景音樂、背景燈顯示等。
      
      5、將低級(jí)用戶界面的繪制動(dòng)作放在一個(gè)獨(dú)立的線程里面去。
      
      6、在需要大量時(shí)間才能完成的工作時(shí),給用戶一個(gè)等待界面。
      
      六、從模擬器到真機(jī)測試
      
      對(duì)于J2ME開發(fā)者來說,模擬器給我們帶來了很多方便,比如可以在模擬器中調(diào)試程序以及很方便的察看程序的效果,但是模擬器也給我們帶來了一些問題,比如模擬器實(shí)現(xiàn)的bug等等,所以進(jìn)行真機(jī)測試是必須的。
      
      1、為什么要進(jìn)行真機(jī)測試?
      
      因?yàn)槟M器程序可能存在bug,以及真機(jī)的性能有限,所以必須進(jìn)行真機(jī)測試。
      
      2、如何將程序傳輸?shù)綑C(jī)器中?
      
      將程序傳輸?shù)綑C(jī)器中有如下方式:
      
      a) OTA下載
      b) 使用數(shù)據(jù)線傳輸
      c) 紅外傳輸
      d) 藍(lán)牙
      
      你可以根據(jù)條件,選擇合適的方式。
      
      3、 真機(jī)測試主要測什么?
      
      真機(jī)測試的內(nèi)容很多,主要測試以下幾個(gè)方面:
      
      a) 程序的功能
      b) 程序的操作性,是否易操作
      c) 程序的大小,比如Nokia S40系列的手機(jī)大部分接受的最大文件尺寸為64K
      d) 程序運(yùn)行速度,速度是否可以忍受。
      
      七、從WTK到廠商SDK
      
      對(duì)于J2ME愛好者來說,基本上大家都是從SUN的WTK(J2ME Wireless Toolkit)開始的,但是對(duì)于實(shí)際應(yīng)用來說,僅僅使用WTK是遠(yuǎn)遠(yuǎn)不夠的,所以在學(xué)習(xí)過程中,必須完成從WTK到SDK的跨越。
      
      1、廠商SDK的下載地址?
      
      ·Nokia
      Nokia不愧為手機(jī)行業(yè)的老大,對(duì)于j2me的支持也是一流的,有專門的網(wǎng)站提供SDK和各種文檔說明。
      網(wǎng)址是:http://forum.nokia.com.cn/sch/index.html
      
      ·Siemens
      Siemens對(duì)于J2ME的支持也不錯(cuò),它提供了SDK,模擬器需要獨(dú)立安裝。下載地址如下:
      https://communication-market.siemens.de/portal/main.aspx?LangID=0&MainMenuID=2&LeftID=2&pid=1&cid=0&tid=3000&xid=0
      
      ·SonyEricsson
      SonyEricsson SDK以及自己的模擬器,下載地址為:
      http://developer.sonyericsson.com/site/global/docstools/java/p_java.jsp
      http://mobilityworld.ericsson.com.cn/development/download_hit.asp
      
      ·Motorola
      Motorola提供了專門的SDK,內(nèi)部包含模擬器,下載地址為:
      http://www.motocoder.com/motorola/pcsHome.jsp
      
      ·SamSung
      SamSung也提供了專門的SDK和模擬器,下載地址為:
      http://developer.samsungmobile.com/eng/front_zone/bbs/bbs_main.jsp?p_menu_id=1500
      
      ·NEC:
      NEC也提供了集成模擬器的SDK,下載地址為:
      http://www.nec-mfriend.com/cn
      
      2、廠商SDK和WTK有什么不同?
      
      廠商SDK最簡單的理解就是在WTK的基礎(chǔ)上增加了自己的模擬器和自己的擴(kuò)展API。也就是說,你在使用廠商的SDK時(shí),可以使用廠商的擴(kuò)展類庫,例如Nokia的UI類庫,和廠商自己的模擬器而已。每個(gè)廠商的擴(kuò)展API都不多,而且不盡相同。
      
      3、如何使用?
      
      有些廠商SDK的使用都和WTK相同,例如SamSung。Nokia提供了獨(dú)立的界面來開發(fā),但是這個(gè)界面在實(shí)際開發(fā)中使用不多。
      
      4、廠商SDK的問題
      
      廠商SDK實(shí)現(xiàn)過程中,有一些bug,而且和真機(jī)實(shí)現(xiàn)不一致。例如NOKIA的混音播放問題等等。
      
      八、在J2ME中獲得手機(jī)IMEI的方法
      
      IMEI是Internation mobile entity identification的簡稱,在手機(jī)中輸入*#06#可以顯示該數(shù)字,長度為15位,全球唯一,永遠(yuǎn)不會(huì)沖突,所以可以作為識(shí)別用戶的一個(gè)標(biāo)志。
      
      下面是在J2ME中獲得IMEI的方法:
      
      1、MOTO系列的手機(jī)可以通過讀取系統(tǒng)的IMEI屬性獲得,代碼如下:
      
      String imei = System.getProperty("IMEI");
      
      2、SIEMENS系列的手機(jī)可以通過讀取系統(tǒng)的com.siemens.IMEI屬性獲得,代碼如下:
      
      String imei = System.getProperty("com.siemens.IMEI");
      
      九、J2ME網(wǎng)絡(luò)連接中顯示問題的解決辦法
      
      在網(wǎng)絡(luò)編程中,有些時(shí)候會(huì)出現(xiàn)一些在沒有接收到網(wǎng)絡(luò)數(shù)據(jù)就顯示界面的,造成界面顯示不符合要求(例如公告顯示,會(huì)先顯示公告的背景圖片再顯示公告信息),這里提一個(gè)簡單的解決辦法給大家:
      
      解決這種情況的方法分成三個(gè)步驟:
      
      1、在需要顯示的界面中,調(diào)用發(fā)送網(wǎng)絡(luò)數(shù)據(jù)的方法。每次顯示時(shí)調(diào)用該構(gòu)造方法,不調(diào)用Display的setCurrent方法顯示。
      
      2、顯示等待界面(例如進(jìn)度條等),給用戶提示,在進(jìn)行網(wǎng)絡(luò)連接。
      
      3、在處理網(wǎng)絡(luò)反饋的數(shù)據(jù)完以后,調(diào)用Display的setCurrent方法顯示顯示當(dāng)前界面。
    posted on 2006-07-05 21:10 船長 閱讀(251) 評(píng)論(0)  編輯  收藏 所屬分類: J2ME

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日本19禁啪啪无遮挡免费动图| 亚洲福利精品一区二区三区| 亚洲国产成人五月综合网| 亚洲Av永久无码精品黑人| 成人爽A毛片免费看| 亚洲国产视频久久| 成人毛片免费观看视频在线| 亚洲欧美成人一区二区三区| 日本黄色免费观看| 亚洲成av人片天堂网无码】| 国产精品酒店视频免费看| 国产亚洲视频在线观看网址| 亚洲 无码 在线 专区| gogo免费在线观看| 国产亚洲精品美女久久久| 人妻无码久久一区二区三区免费| 全免费a级毛片免费**视频| 亚洲heyzo专区无码综合| 四虎影视永久免费观看网址| 久久亚洲精品无码gv| 一级毛片直播亚洲| 99免费在线视频| 亚洲韩国—中文字幕| 91免费精品国自产拍在线不卡| 亚洲日韩国产精品第一页一区| 亚洲av极品无码专区在线观看| 一级毛片在播放免费| 亚洲国产精品无码久久一线| 性做久久久久久久免费看| 麻豆亚洲AV成人无码久久精品 | 亚洲精品无码不卡在线播放| 在线观看亚洲免费| 成人无码区免费A∨直播| 久久久久亚洲精品日久生情| 韩国免费三片在线视频| 日韩一级片免费观看| 亚洲一区二区三区电影| 日本a级片免费看| 国产成人精品一区二区三区免费| 亚洲国产综合无码一区二区二三区| 亚洲人成网站18禁止久久影院|