搜尋
首頁Javajava教程J2ME程式開發全方位基礎講解總合(一)

  一、J2ME中需要的java基礎知識
  
  現在有大部分人,都是從零開始學J2ME的,學習J2ME的時候,總是從Java基礎開始學習,而且現在講Java基礎的書籍中都是以J2SE來講基礎,這就給學習造成了一些不必要的麻煩,下面將J2ME中用到的和不需要的Java基礎知識做一個簡單的說明:
  
  J2ME中使用到的Java基礎知識:
1.Java語法基礎:包含基本資料型態、要害字、運算子等等
  2、物件導向的想法:類別和物件的概念,繼續和多型等等。
  3、異常處理
  4、多執行緒
  
  J2ME中沒有用到的Java基礎知識:
  1、JDKKjavac和命令的使用基礎的方法做了大量的精簡。所以建議在J2ME中熟悉類別庫。
  3、Applet、AWT、Swing這些知識在J2ME中根本使用不到。
  
  簡單說這麼多,希望學J2ME的朋友們能少走一些彎路,不足之處希望大家積極指正和補充。
  
  二、J2ME中暫時無法完成的功能
  
  列一些J2ME中暫時無法完成的功能,希望大家能積極補充:
 1、在手機中不更改遊戲程式碼。
  2、動態修改按鈕文字。
  3、在Canvas上接受中文輸入。
  4、操作本地資源、例如地址本、已收短資訊等。
  5、製作破壞性的手機病毒。
  6、其他等待大家來補充。
  
  三、J2ME的跨平台性
  
  J2ME技術源於Java,所以也具有JVM的優勢,可以在支持Java的平台上進行移植,但是現在的J2ME技術在跨平台上卻做的很糟糕,我們來簡單看一下原因:
  1、手機的螢幕尺寸不一:
  這個主要在介面製作上。
  
  假如你使用的是高級用戶介面,例如你做的是應用開發或用戶登陸、用戶註冊這樣的通用功能時,一般沒有什麼問題。
  
  假如你使用的是低階使用者介面,例如你做的是遊戲,那麼你就需要考慮這個問題了。
  
  2、廠商的擴充API不統一:
  例如Nokia的擴充API類庫UI系列,在別的手機上或者沒有實現,或者包名不同等等。
  
  3、手機平台上實現的bug:
  例如Nokia的7650在實現雙緩衝上有bug,那麼在這種機型上運行的軟體就不能使用雙緩衝。其他NOKIA上的一些bug,可參考:http://blog.csdn.net/Mailbomb/archive/2005/03/24/329123.aspx
  
  4、手機效能問題。
  不同手機的可用記憶體、最大jar檔案都有要求,例如Nokia S40的大部分手機支援的最大jar檔為64K,最大可用內容為210K。
  
  所以現在的手機軟體,非凡是遊戲都提供支援的機型列表,也才有了手機遊戲移植人員的存在。
  
  四、學習J2ME可以從事的工作種類
  
  現在J2ME技術可以說相當的火暴,這裡介紹一些學好了J2ME之後可以從事的工作的種類:🎀〟〟〟〜〟〜4]要求,在某種特定的機型(以Nokia S40或S60居多)開發遊戲程式。
  這是現在大部分J2ME程式設計師從事的工作。
  
  需熟練掌握:進階使用者介面、低階使用者介面、線程,假如是網路遊戲,還需要熟練網路程式設計。
  
  2、J2ME應用開發人員
  現在的行動應用還不是很多,但是還是出現了一些,非凡是移動定位以及移動商務相關的內容。
  
  需熟練掌握:進階使用者介面、執行緒與網路程式設計。
  
  3、J2ME遊戲移植人員
  參考原始碼,將可以在一個平台上可以運行的遊戲移植到其他平台上去。例如將Nokia S40的遊戲移植到S60上,或是索愛的T618等等。
  
  主要是控制螢幕座標,有些可能需要取代一些API。
  
  需要熟悉各平台之間的差異以及相關的技術參數,例如螢幕大小、最大jar檔案尺寸等等。
  
  五、J2ME程式設計的幾個原則
  
  1、使用物件導向程式設計。
  雖然使用面向過程程式設計可以減少檔案的尺寸,但是為了以後維護的方便和利於擴展,還是要使用物件導向程式設計。
  
  2、使用MVC模式
  將模型、介面和控制分開。現在很多的程式將三者合一,但是假如你做的程式比較大的話,還是建議你分開。
  
  3、自動儲存使用者設定
  使用RMS來儲存使用者的信息,例如儲存使用者上次輸入的使用者名稱、密碼、使用者對於系統的設定等,這不僅可以減少使用者的輸入,而且對使用者友善。很多程序甚至做了自動登陸等。
  
  4、一些系統設定答應用戶關閉。如背景音樂、背景燈顯示等。
  
  5、將低階使用者介面的繪製動作放在一個獨立的執行緒裡面去。
  
  6、在需要大量時間才能完成的工作時,給使用者一個等待介面。
  
  六、從模擬器到真機測試
  
  對於J2ME開發者來說,模擬器給我們帶來了很多方便,比如可以在模擬器中調試程序以及很方便的察看程序的效果,但是模擬器也為我們帶來了一些問題,例如模擬器實現的bug等等,所以進行真機測試是必須的。
  
  1、為什麼要進行真機測試?
  因為模擬器程式可能有bug,以及真機的效能有限,所以必須進行真機測試。
  
  2、如何將程式傳送到機器中?
  將程式傳送到機器中有以下方式:
  a) OTA下載
  
  b) 使用數據線傳輸🀜  〜〜 牙齒
  你可以依照條件,選擇適合的方式。
  
  3、 真機測試主要測什麼?
  真機測試的內容很多,主要測試以下幾個方面:
  a) 程序的功能
  
  b) 程序的操作性,是否易操作🀜  〜 〜〜〜4〜〜 〜 〜〜〕〜]系列的大部分尺寸的最大檔案尺寸為64K
  
  d) 程式運作速度,速度是否可以忍受。
  
  七、從WTK到廠商SDK
  
  對於J2ME愛好者來說,基本上大家都是從SUN的WTK(J2ME Wireless Toolkit)開始的,但是對於實際應用來說,僅僅使用WTK ,所以在學習過程中,必須完成從WTK到SDK​​的跨越。
  
  1、廠商SDK的下載位址?
  http://blog.csdn.net/Mailbomb/archive/2005/01/01/236606.aspx
  
  2、廠商SDK和WTK有什麼不同?
  廠商SDK最簡單的理解就是在WTK的基礎上增加了自己的模擬器和自己的擴充API。
  也就是說,你在使用廠商的SDK時,可以使用廠商的擴充類別庫,例如Nokia的UI類別庫,和廠商自己的模擬器而已。
  每個廠商的擴充API都不多,而且不盡相同。
  
  3、如何使用?
  有些廠商SDK的使用都和WTK相同,例如SamSung。
  Nokia提供了獨立的介面來開發,但是這個介面在實際開發中使用不多。
  
  4、廠商SDK的問題
  廠商SDK實現過程中,有一些bug,而且和真機實現不一致。例如NOKIA的混音播放問題等等。
  
  八、在J2ME中獲得手機IMEI的方法
  
  IMEI是Internation mobile entity identification的簡稱,在衝突中輸入*#06是Internation mobile entity identification的簡稱,在衝突中輸入*#06#06#06#06#可以作為識別使用者的一個標誌。
  
  下面是在J2ME中獲得IMEI的方法:
  
  1、MOTO系列的手機可以透過讀取系統的IMEI屬性取得,代碼如下:🎀   㟜。〜。); 、 SIEMENS系列的手機可以透過讀取系統的com.siemens.IMEI屬性取得,程式碼如下:
  String imei = System.getProperty("com.siemens.IMEI");
  
  九、J2ME網路連線中顯示問題的解決方案辦法
  
  在網絡編程中,有些時候會出現一些在沒有接收到網絡數據就顯示界面的,造成界面顯示不符合要求(例如公告顯示,會先顯示公告的背景圖片再顯示公告信息),這裡提一個簡單的解決方法給大家:
  
  解決這種情況的方法分成三個步驟:
  1、在需要顯示的介面中,呼叫傳送網路資料的方法。每次顯示時呼叫該建構方法,不呼叫Display的setCurrent方法顯示。
  
  2、顯示等待介面(例如進度條等),給使用者提示,在進行網路連線。
  
  3、在處理網路回饋的資料完以後,呼叫Display的setCurrent方法顯示顯示目前介面。
  
  十、增強J2ME的String能力-分割字串
  
  從JDK1.4以後,String類別中新增了split方法來實現字串的分割,但是在J2ME中卻沒有該方法(DP2.0也沒有實現),但是在實際使用過程中,有些時候的確要用到這種操作,這裡將我以前實現的一段代碼和大家共享:
  /**
  
* 分割字串,原理:偵測字串中的分割字串,然後取子字串
  
  * @param original 需要分割的字串
  
  * @paran regex 分割字串🀀 
  * @paran regex 分割字串🀜 串數組
  
  */
  private static String[] split(String original,String regex)
    int startIndex = 0;
  
  //將結果資料先放入Vector中
  
  Vector v = new Vector();
  
  //返回的結果字串陣列
  㟎
  
  int index = 0 ;
  
  //獲得匹配子字串的位置
  
  startIndex = original.indexOf(regex);
  🀎  //假如起始字串的位置小於字串的長度,則證實沒有取到字串結尾。
  
  //-1代表取到了末尾
  
  while(startIndex


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?Mar 17, 2025 pm 05:46 PM

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?如何使用適當的版本控制和依賴項管理創建和使用自定義Java庫(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?Mar 17, 2025 pm 05:44 PM

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?Mar 17, 2025 pm 05:43 PM

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Java的類負載機制如何起作用,包括不同的類載荷及其委託模型?Mar 17, 2025 pm 05:35 PM

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具