1 / 54

JAVA PHONE

JAVA PHONE. J2ME MIDP 行動通訊程式設計. 大綱. J2ME 簡介 J2ME Wireless Toolkit 模擬器 MIDlet Suites J2ME 程式開發流程. JAVA 手機簡介. 所謂 JAVA 手機,是指手機內建 JAVA 程式的執行平台,讓電信系統開發業者可以開發各種應用程式,將其放在手機上,把原本單純的手機,變成可以依使用者需求,增加各種功能與服務。. MIDP 簡介.

jesus
Download Presentation

JAVA PHONE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAVA PHONE J2ME MIDP 行動通訊程式設計

  2. 大綱 • J2ME 簡介 • J2ME Wireless Toolkit • 模擬器 • MIDlet Suites • J2ME 程式開發流程

  3. JAVA手機簡介 • 所謂JAVA手機,是指手機內建JAVA程式的執行平台,讓電信系統開發業者可以開發各種應用程式,將其放在手機上,把原本單純的手機,變成可以依使用者需求,增加各種功能與服務。

  4. MIDP簡介 • 用於開發Java應用軟體的標準,是採用業界標準規格的”MIDP”(Mobile Information Device Profile),只要遵循這個標準,程式開放者只需以Java開發軟體,便能提供各家手機使用,非常的方便有效率

  5. Java phone未來趨勢 • 手機可以播放多媒體,線上下載手機遊戲,進行銀行轉帳等電子商務,直接上網抓取HTML格式……等等

  6. J2ME • Java因為具備跨平台及支援動態下載特性,現今已被廣泛應用於行動通訊領域,而這個開發執行環境便是”J2ME”(Java 2 platform Micro Edition) • J2ME是一種適用於微型裝置(例如:行動電話或雙向型傳呼機)的Java開發平台

  7. J2ME 架構

  8. CDC & CLDC (Connected, Limited, Device Configuration) a.CLDC就是定義為「可以放在手掌上的裝置」,比方說PALM系列的PDA或是手機就是最好的例子 b.CDC則是定義為「可以插在牆壁上的裝置」比方說冷氣機、電冰箱等等。

  9. 開發工具 • Java發展環境 • J2SDK • J2ME開發工具 • MIDP • J2ME Wireless Toolkit • CODEWARRIOR FOR JAVA (MOTOROLA A6288手機) • JBUILDER MOBILESET

  10. J2ME Wireless Toolkit • J2ME Wireless Toolkit 1.01 • http://java.sun.com/products/j2mewtoolkit/ • Integrates with Sun Forte IDE • J2ME Wireless Toolkit 1.02 • adds debugging capabilities • adds new emulators • early access version available (as of 6/3/01)

  11. J2ME Wireless Toolkit開發環境(1) • J2ME Wireless Toolkit開發工具是用來發展有關Java移動式資訊裝置軟體的工具 • J2ME Wireless Toolkit包括KToolbar此開發工具,KToolbar是一支很容易操作的使用者圖形介面的工具,讓使用者可以很迅速地開發有關J2ME的應用程式

  12. J2ME Wireless Toolkit開發環境(2) • KToolbar是一個使用者圖形介面工具去執行Java MIDlet應用程式 • 程式開發者可以使用KToolbar去編譯、發展、執行、和將Java MIDlet應用程式中會用到的一些資源檔案,封裝成單一的JAR檔,再利用模擬器來測試程式的執行情況 • 當然還需要一套文字編輯器(如:UltraEditor)來編修Java的原始程式碼

  13. 模擬器(Emulator) • 模擬器亦即支援在桌上型電腦,用來發展Java MIDlet應用程式 • 模擬器會將Java MIDlet應用程式中會用的的一些資源檔案封裝成單一的JAR檔,再利用模擬器來測試程式的執行情況

  14. 模擬器的範圍(1) • 特定手機的application management性能 • 在模擬器中,application management 的主要功能是安裝Java MIDlet應用程式到機器上執行,並進行Java MIDlet應用程式的操作。Application management 的實作,在不同裝置上會產生不同的變化,這也是在操縱模擬器時需注意的

  15. 模擬器的範圍(2) • 執行的速率 • Java MIDlet應用程式可以在不同素速率的目標裝置下執行 • 使用者介面的準確性和真實裝置的功能 • 在J2ME Wireless Toolkit中的模擬器是一種可自定類別的模擬器裝置,它提供了一些組態設定,可以模擬真實裝置的功能,至於使用者介面也只能與真實裝置類似,但無法一模一樣

  16. 在Toolkit中模擬器裝置的種類(1) • 選擇不同的裝置時,模擬器的外觀會有所不同,而同樣的程式,在操作上也有很大的不同

  17. DefaultColorPhone DefaultGrayPhone 在Toolkit中模擬器裝置的種類(2)

  18. MinimumPhone Motorola_i85s 在Toolkit中模擬器裝置的種類(3)

  19. RIMJavaHandheld 在Toolkit中模擬器裝置的種類(4) PalmOS_device

  20. MIDlet Suites(1) • 所謂MIDlet為一個可以執行的收機硬應用程式之基本單位 • 除了繼承至javax.microedition.midlet.MIDlet的類別外,以及讓此類別可以順利執行的所有其他類別和資源檔所構成的集合,又稱作MIDlet 應用程式

  21. MIDlet Suites(2) • 資源檔指的是MIDlet執行時所需的檔案,如圖片、文字檔等 • 許多MIDlet所構成的集合又稱MIDlet suite • 在J2ME Wireless Toolkit開發工具執行期間,所有的MIDlet應用程式皆有一個共通的 MIDP執行環境在此環境內進行封裝和測試多個MIDlet應用程式

  22. MIDlet Suites(3):JAR檔 • JAR : Java Archive File,.jar檔 • 單一一個MIDlet Suite(JAR檔)之中可以包含許多個MIDlet • 描述MIDlet Suite中一支支MIDlet應用程式讀相關資訊。MIDlet-n中的n會從1開始編號,每新增一支MIDlet就會新增一列,並自動從上一個編號依序往下遞增,如:MIDlet-1 ,MIDlet-2 ,…… ,MIDlet-n

  23. MIDlet Suites(4):JAR檔 • 處於同一個MIDlet Suite的MIDlet彼此之間可以共享資源及類別檔 • MIDlet應用程式執行時所需要的檔案皆存在資訊檔內,如圖片、文字檔等 • 每一支JAR檔都包括一支清單檔,檔案類型為文字檔,清單檔內容架構有三部份

  24. MIDlet-1類別與資源 MIDlet-2類別與資源 1 … MIDlet-n類別與資源 2 共同類別 3 共同資源(如影像、文字) Manifest MIDlet Suites(5):JAR檔 • 清單檔是用來描述一個MIDlet Suite之基本資料,以及該MIDlet Suite內含之MIDlet相關資訊的內部檔案

  25. MIDlet Suites(6):JAD檔 • JAD: Java Application Descriptor file,.jad • 描述檔,是單純的文字檔,主要記錄應用程式的屬性名稱及屬性值 • JAR檔內容的格式與manifest檔相同,是用來描述一個MIDlet Suite之基本資料,以及該MIDlet Suite內含之MIDlet相關資訊的外部檔案

  26. MIDlet Suites(7):JAD檔 • JAD檔主要是讓Java Application Manager能夠在下載JAR之前先做些檢查,確定機器上的實際環境可以符合JAR檔所需要,也符合使用者的需求 • 描述檔也能夠讓程式開發者在能夠不修改JAR檔內部之清單檔的情況下,額外增加一些MIDlet在執行時所需要的參數

  27. MIDlet-1類別與資源 MIDlet-2類別與資源 … MIDlet-n類別與資源 共同類別 共同資源(如影像、文字) MIDlet屬性 Manifest JAD檔 JAR檔 MIDlet Suites(8) • MIDlet Suite組成元素,包括有MIDlet應用程式的類別檔、資源檔、清單檔、描述檔等 MIDlet Suite

  28. 應用程式開發循環(1) • 1.Edit • 用一文字編輯器編修Java的原始程式 • 2.Build • 編譯:利用J2ME中的編譯程式對Java的原始程式進行編譯,即將.java的原始檔編譯成.class的類別檔 • Byte-code驗證:CLDC 是使用兩階段的類別檔驗證程序,此驗證程序必需在Java MIDlet應用程式執行之前,先確認Java所有得類別檔皆已透過預先審查器處理,byte-code是否適合在CLDC上執行

  29. 應用程式開發循環(2) • 3.測試與除錯 • 在模擬器中,Java MIDlet應用程式的除錯:Java MIDlet開發環境是一個整合性開發環境(Integrity Development Environment:IDE) ,它在開發時期可對原始碼作除錯工作 • 4.封裝成一個MIDlet Suite • 利用J2ME中的JAR工具將所有先期驗證過的類別檔和Java MIDlet 應用程式中所使用的一些資源檔封裝成一個單一的JAR檔。在此過程也會產生一支JAD檔及manifest檔

  30. Edit Compile .java檔 Preverify .class檔 已預先審核的.class檔 利用模擬器執行/除錯 模擬裝置 改變模擬器裝置 應用程式開發循環(3) 應用程式資源檔(文字、影像….)

  31. 封裝應用程式: 已預先審核的.class檔 MIDlet套件(Jar檔、Jad檔) 封裝 (packet) 在實體裝置上執行 應用程式資源檔(文字、影像….) 具有MIDlet屬性的Jar檔及ManiFest檔 應用程式開發循環(4)

  32. KToolbar操作介面 選單 工具列 目標裝置 訊息窗格

  33. MIDlet程式撰寫步驟 Step 1.開啟新專案 專案名稱,即JAR檔的名稱 MIDlet應用程式的類別名稱

  34. MIDlet程式撰寫步驟 Step 2

  35. MIDlet程式撰寫步驟 Step 3

  36. MIDlet程式撰寫步驟 Step 4:撰寫程式碼

  37. MIDlet程式撰寫步驟 Step5:編譯

  38. MIDlet程式撰寫步驟 Step 6:執行

  39. MIDlet程式撰寫步驟 結果:

  40. Ch2_2_1的目錄結構 目錄結構(1)

  41. 目錄結構(2) • apps:包含專案的所有來源、資源和二進位檔 • src:包含所有來源檔 • res:包含所以資源檔 • bin:包含JAR 、 JAD和解壓縮的manifest檔 • lib:包含某特定專案的JAR或ZIP格式的外部類別程式庫

  42. DefaultColorPhone 模擬器功能操作 結束程式 輸出畫面 Soft Button Soft Button 方向鍵 SELECT鍵 清除鍵 小鍵盤 MODE SPACE

  43. MIDlet之套裝類別 • MIDlet生命周期是定義MIDlet與該裝置間執行流程的一個協定,其要素如下: • 一個簡單且定義明確的狀態機制 • 有關MIDlet的狀態之定義非常簡潔 • 利用MIDlet的API函數來標示狀態間的轉換,API函數有startApp() 、pauseApp()、notifyPaused()、resumeRequest()、notifyPause()、及notifyDestroyed()

  44. MIDlet狀態內容(1) • 暫停(Paused)狀態 • 在暫停狀態中,MIDlet已經初始化且呈現靜止狀態,MIDlet不應該占用或使用任何的共同資源 • 此狀態有四個進入時機

  45. MIDlet狀態內容(2) • 運作(Active)狀態 • 運作狀態為MIDlet一般性功能。此狀態之進入時機: • 事先呼叫MIDlet.startApp()方法

  46. MIDlet狀態內容(3) • 摧毀(Destroyed)狀態 • MIDlet釋放所有配置給程式的系統資源,並且結束程式 • 此狀態有兩個進入時機

  47. MIDlet狀態內容(4) new() 暫停狀態(Paused) destroyApp() pauseApp() 摧毀狀態(Destroyed) startApp() destroyApp() 運作狀態(Active)

More Related