• 沒有找到結果。

J2ME行動裝置應用實例

N/A
N/A
Protected

Academic year: 2021

Share "J2ME行動裝置應用實例"

Copied!
7
0
0

加載中.... (立即查看全文)

全文

(1)

J2ME 行動裝置應用實例

羅逸文 中華醫事科技大學 資訊管理系 E-mail : kevin@mail.hwai.edu.tw

摘 要

JAVA 的跨平台及支援動態下載特性,允許程式設計師僅需撰寫一次程式碼,便可以在各種不同的平台上 執行,也因此成為行動通訊世紀中最佳的程式語言。所謂的 JAVA 手機,是指在手機中內建有 JAVA 程式的執 行平台,讓電信系統業者可開發各種應用程式,將其放置在 JAVA 手機上,把原本單純的手機功能,變成可 以依使用者需求,增加各種功能與服務,能夠滿足客戶端隨時依需求擴增的功能手機,類似電腦的功能也越 來越多。 隨著科技的進步,行動裝置的普及,小而巧的手機已漸漸放寬所受的限制,本文之研究方向希望因應使 用者的需求來製作出不同的手機應用程式,供使用者方便應用。 關鍵詞:JAVA、J2ME、手機應用

1. 前 言

1-1 JAVA 的回顧

1990 年,SUN 就由 Patrick Naughton、Mike Sheridan 和 James Gosling 成立一個叫做 Green Team 的小組。 1991 年 4 月,Sun 的綠色計畫(Green Project)主要目標是要發展一種分散式系統架構,使其能在消費性電子 產品(Consumer Electronics)作業平台上執行,例如 PDA、手機、資訊家電(IA, Internet /Information Appliance) 等。

Java 以它優異的功能,在全球資訊網的平台上撰寫高互動性的網頁程式,稱為 Applet。那時沒有其它的 程式語言能夠做到,所以原本坐以待斃的 Java,又在全球資訊網上開啟了另一片天空。

從手機加值應用來看,早在數年前便已開始發展,Java 的跨平台應用就被完整的移植到手機的應用上。 整體 Java 語言對支援手機的做法,並不是最近才被實現。Java Sun 早期對系統應用定義出三個平台,每一項 都是定義給不同的電腦環境來使用,這三項平台應用環境如下:

1. Java 2 SE(Java Standard Edition), J2SE 2. Java 2 ME(Java Micro Edition), J2ME 3. Java 2 EE(Java Enterprise Edition), J2EE

其中 J2SE 為 Java 的標準版,是對於想要學習 Java 程式開發的使用者而言,最先必須接觸的,也是必備 的 Java 技術基礎。主要是用於開發桌面應用程式,或是瀏覽器中內嵌的 Applet 程式,例如:利用 Java SE 來 撰寫一套文字編輯程式。J2ME 為 Java 的微型版,對於資源受限的消費性電子產品,例如:手機,它不像電 腦具有強大的 CPU 及充足的記憶體,因此若要開發這類設備上的應用程式 Java ME 是大大最好的選擇。現在 手機上若是聲稱有支援 Java 多半是由這個版本所開發出來的應用程式。最後,J2EE 為 Java 的企業版,對於 大型、企業級網站而開發的應用程式,Java EE 會以 Java SE 為基礎,因此在架構上與開發的規模都比 Java SE 龐大許多。

(2)

1-2 JAVA 的執行環境

1. JVM(Java Virtual Machine) :

用來執行 JAVA 程式。JVM 是以軟體模擬的方式,在真實的機器上虛構出來的執行環境。 2. JRE (Java runtime Environment) :

JAVA 程式的執行環境,內含類別函式庫。 3. JDK (Java Software Development Kit) :

也稱為 SDK,提供開發 JAVA 的應用程式的一些工具,例如 JAVA 編譯器、製造 JAVA 類別壓縮檔(JAR) 的工具、除錯工具。

1-3 Java ME 的應用

J2ME (Java 2 Platform, Micro Edition)為 Sun Microsystems 第一次推向 Java 團體,它是一項能滿足 Java 開 發人員的不同需求的廣泛倡議的一部分。目前 J2ME 有二種 Configuration 之定義:

1. CLDC(Connected, Limited Device Configuration): 個人的,間歇性連結行動設備,支援有限制的連結資訊 終端設備架構。適用於較低檔的消費性電子產品,例如手機、PDA。

2. CDC (Connected Device Configuration):

經常性連結網路終端設備,支援固定式網路連接資訊終端設備架構。適用於較高檔的消費性電子產品,例 如互動式電視機上盒、網路電話 此外,總和其特性,該平台組成的基本層次圖可概略區分成如圖一所示。 圖 1 J2ME 平台所組成的基本層次圖 此外,Sun Microsystems 所發展出來針對一般的消費性小型設備進行程式開發的工具,引入了二種新的概 念,分別是 Configuration 以及 Profile,Configuration 主要的目的是針對消費性電子產品的網路連結能力、處 裡器速度,記憶體容量等特性為之分類。Configuration 針對所使用的裝置,定義了一些較基本的核心類別函 式庫,凡是屬於該 Configuration 的裝置,其上所附的 JAVA 虛擬機器應該要支援 Configuration 中所定義的類 別函式。

2. J2ME 之特性與技術現況

J2ME 技術誕生到現在還組於不斷發展與擴大中,儘管 J2ME 跨平台的最大優勢受到各種手機對 JSR 標準 的遵循差異、各廠商手機理念實現的差異有所阻礙。但不可否認,J2ME 仍然是今日作為移動開發領域最主要 的技術之ㄧ。因為它開發簡便,可移植性強,使從事 Java 的開發者可以很快的投入 J2ME 開發。在目前企業 客戶端的應用,伺服器端保存用戶數據,以及接受線上用戶的運算服務。用戶端則為數據的接收者,必要時

(3)

處理簡單的運算邏輯,少量的保存較重要或者需要備份的數據,例如聊天紀錄、帳號及密碼等。

而隨著規範的成型和更多簡檔的加入,J2ME 更鞏固其在嵌入式設備領域的地位。透過 CDC 和 CLDC, Sun 已採取重要的步驟為該領域的開發人員的各種需求提供各種重要的服務。由此看來 J2ME 的前景很明顯 要比 J2SE 甚至 J2EE 來的複雜,但是複雜性也預告著 J2ME 能夠支援的設備的多樣性。

2-1 JAVA 的特性 1. 簡單: Java 語言是一種面向對象的語言,它通過提供最基本的方法來完成指定的任務,只需理解一些基本的概 念,就可以用它編寫出適合各種情況的應用程序。Java 略去了運算符重載、多重繼承等模糊的概念,並且通 過實現自動垃圾收集大大簡化了程序設計者的內存管理工作。另外,Java 也適合在小型機上運行,它的基本 解釋器及類的支持只有 40KB 左右,加上標準類庫和線程的支持也只有 215KB 左右。庫和線程的支持也只有 215KB 左右。 2. 物件導向的(Object-oriented): Java 語言的設計集中對象及其接口,它提供了簡單的類機制以及動態的接口模型。對象中封裝了它的狀 態變量以及相應的方法,實現了模塊化和信息隱藏,而類則提供了一類對象的原型,並且通過繼承機制,子 類可以使用父類所提供的方法,實現了代碼的復用。 3. 網路的(Network-Savvy):

Java 是面向網絡的語言。通過它提供的類庫可以處理 TCP/IP 協議,用戶可以通過 URL 地址在網絡上很 方便地訪問其它對象。 4. 強韌性的(Robust): Java 在編譯和運行程序時,都要對可能出現的問題進行檢查,以消除錯誤的產生。它提供自動垃圾收集 來進行內存管理,防止程序員在管理內存時容易產生的錯誤。通過集成的面向對象的例外處理機制,在編譯 時,Java 提示出可能出現但未被處理的例外,幫助程序員正確地進行選擇以防止系統的崩潰。另外,Java 在 編譯時還可捕獲類型聲明中的許多常見錯誤,防止動態運行時不匹配問題的出現。 5. 安全性(Secure): 用網絡、分布環境下的 Java 必須要防止病毒的入侵。Java 不支持指針,一切對內存的訪問都必須通過對 象的實例變量來實現,這樣就防止程序員使用”特洛伊”木馬等欺騙手段訪問對象的私有成員,同時也避免了 指針操作中容易產生的錯誤。 6. 架構中立性(Architecture Neutral):

Java 解釋器生成與體系結構無關的字節碼指令,只要安裝了 Java 運行時系統,Java 程序就可在任意的處 理器上運行。這些字節碼指令對應 Java 虛擬機中的表示,Java 解釋器得到字節碼,對它進行轉換,使之能夠 在不同的平台運行。

7. 可移植性的(Portable):

與平台無關的特性使 Java 程序可以方便地被移植到網絡上的不同機器。同時,Java 的類庫中也實現了與 不同平台的接口,使這些類庫可以移植。另外,Java 編譯器是由 Java 語言實現的,Java 運行時系統由標準 C 實現 ,這使得 Java 系統本身也具有可移植性。 8. 解釋執行(Interpreted): Java 解釋器直接對 Java 字節碼進行解釋執行。字節碼本身攜帶了許多編譯時信息,使得連接過程更加簡 單。 9. 高效率的(High Performance): 和其它解釋執行的語言如 BASIC、TCL 不同,Java 字節碼的設計使之能很容易地直接轉換成對應特定

(4)

CPU 的機器碼,從而得到較高的性能。 10. 多執行緒的(Multithreaded): 多線程機制使應用程序能夠並行執行,而且同步機制保証了對共享數據的正確操作。通過使用多線程, 程序設計者可以分別用不同的線程完成特定的行為,而不需要採用全局的事件循環機制,這樣就很容易地實 現網絡上的實時交互行為。 11. 動態性(Dynamic): Java 的設計使它適合一個不斷發展的環境。在類庫中可以自由地加入新的方法和實例變量而不會影響用 戶程序的執行。並且 Java 通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和擴展性。

2-2 J2ME Wireless Toolkit

WTK (J2ME Wireless Toolkit)是用來開發有關 Java 移動式資訊裝置軟體(Java technologyenabled mobile information devices program)的工具。主要設計目的是胃了幫助開發人員簡化 J2ME 的開發過程。在 J2ME Wireless Toolkit 內含有開發工具 KToolbar,KToolbar 是供使用者以圖形介面操作的工具,包含完整的生成工 具、基本開發環境、模擬器。而 J2ME Wireless Toolkit 內容包含以下幾點:

1. J2MEWTK 因具有擴充性何強而有力的模擬架構,所以容許使用者在不同選擇的裝置上執行 J2ME 之應用 程式。

2. J2MEWTK 內含有 KToolbar,而 KToolbar 是一個方便使用者操作且獨立運作的開發環境。

3. J2MEWTK 可以和其他更強大的開發工具做結合,Java SDK 1.3.1 以上的版本皆已提供與 Forte for Java 整 合之方案,所以允許您電腦上任何一個以 Java 為主的介面,來撰寫、編譯 J2ME 的應用程式。

支援 MIDP ( Mobile Information Device Profile ) 的裝置,所以允許 J2MEWTK 在同一個開發環境內完成 J2ME 應用程式的撰寫、執行、偵錯等開發流程。

3. 文獻探討

隨著科技日新月異,行動電話技術不斷創新,手機幾乎都具備小型電腦功能。目前手機最常使用的執行 環境為 J2ME。朱繼興[1]在研究「應用 J2ME 技術建立無線企業應用程式」中指出 J2ME 是 Java 新一代的行 動裝置開發技術,並提供程式設計師一個標準的 Java 行動裝置開發環境。陳順吉[2]在研究「以 J2ME 為平台 之無線網路推播服務」提到,隨著行動網路技術進步,為滿足人們隨時隨地取得網路資源之需求,行動電話 上之應用程式亦愈受重視。而藉由 J2ME 的平台獨立性能讓應用程式適用於任何行動裝置上。張揚[3]於「J2ME 行動資訊系統之研究與開發」中,成功的將一個網站完全的轉移成 J2ME 行動資訊系統並安裝在實體手機上。 由 J2ME 具有跨平台特性,只要手機擁有正確的 Java 執行環境,就可以執行任何應用程式。使用者也可 以開發出屬於自己的系統,放到網路上與其他人分享而成為行動資訊系統。 廖政安[4]應用 J2ME 技術結合無 線網路設計出一套完全不受平台種類限制,且可以輕易的轉移至任何系統平台上執行之行動資訊服務系統。 並提供行動學習的服務,讓使用者可隨時隨地去存取網路上各種資訊,以達到行動學習、學習無障礙之目標。 林俊佑[5]利用 WAP 與 J2ME 技術設計一套以行動電話作為行動學習平台之行動練習系統,使用者可隨時將題 目下載於行動電話來進行練習。進而達到遠距教學與行動通訊技術結合之行動學習。黃晉元[6]亦利用 J2ME 為開發平台,建置手機之點對點線上購物系統讓使用者可以輕易地建立和瀏覽買賣商品資訊,並和交易對方 做即時的文字或語音通訊。陳文福[7]利用 2ME 之 MIDP2.0、Mobile Media API、Bluetooth API、Mobile 3D Graphics API 來撰寫手機遊戲並透過藍芽連線與另一端之玩家進行連線對戰。

由上述文獻得知,J2ME 與其他的無線技術,讓 Java 手機應用程式開發更行動資訊與多樣性化。只要了 解 J2ME 特性並嘗試撰寫手機應用程式,人人都能開發出屬於自己的行動資訊系統並讓手機之使用更多樣化。

(5)

4. 應用實例製作與探討

在本研究中,針對行動裝置 J2ME 來進行設計,而設計主題以”個人名片管理助手程式”與”個人健康管理 -BMI 計算程式”為題材,以作為相關客製化資料庫之程式設計的概念。 4-1 個人名片管理助手程式 本研究撰寫之”個人名片管理助手”,執行相關結果如下: 1. 首先在手機模擬程式中上選擇執行本專題所撰寫完成之檔案(datastore.java),出現執行畫面如圖二所示。 2. 接著點選執行運作本程式,出現執行主畫面與相關資訊,開啟功能鍵後便可依新增一筆新的個人名片資 料,而後進行個人名片管理的資料輸入,如圖三所示。 圖 2 datastore.java 檔案執行畫面 圖 3 名片簿新增功能鍵執行畫面 3. 本程式主要設計之功能為隨身個人名片管理助手,因此先設計出幾種常用的個人資訊進行輸入管理,如 圖四所示。 4. 在輸入相關資料後便可進行儲存,而後做查詢動作時,只要點選功能建中的查詢名片功能,如圖五所示, 便可以顯示所輸入的資訊,如圖六所示。 圖 4 個人名片簿輸入資料執行畫面 圖 5 個人名片簿查詢資料功能執行畫面

(6)

圖 6 查詢單筆輸入資料執行圖 4.2 個人健康管理-BMI 計算程式 在手機模擬程式中上選擇執行本專題撰寫完成之檔案(BMI.java),出現執行畫面如圖七所示: 1. 點選執行運作本程式,出現執行本程式之主畫面與相關資訊。 2. 而後便可以輸入使用者個人的身高與體重資料,如圖九所示。 3. 接著便可以選擇欲兌換之貨幣種類,如圖十所示。點選計算功能鍵,便可以得到 BMI 值的換算結果,並 出現相關的健康評語。如有過量之數值出現,亦會出現不同的建議事項,可供使用者作後續的改善動作。 圖 7 BMI 檔案執行畫面 圖 8 個人健康管理-BMI 計算程式主畫面 圖 9 BMI 正常之程式執行結果圖

(7)

5. 結果與討論

本研究之實作目標訂定為利用 J2ME 的跨平台特性,撰寫在手機行動裝置上的應用程式設計之應用實例, 對於 Java 在行動通訊手機裝置上的應用程式 J2ME,利用它來設計一系列容易上手的手機 Java 應用程式應用。 在成果展示中,研究成員針對行動裝置 J2ME 為發展平台來進行設計,並以資料庫管理為出發點,設計” 個人名片管理助手程式”與”BMI 計算幫手”為題材,利用大學課程中所學習的程式應用設計概念,進行相關常 用的資料庫管理助手程式設計,以作為相關客製化資料庫之程式設計的概念。在完成本次的實作應用後,確 認 J2ME 在行動裝置上的通用性與便利性,相信在未來更可以配合資料庫的應用,來進行相關的進階應用設 計,達到更廣泛的應用,使得此類的行動裝置應用程式的功能達到最大,也能夠更加的便利。 在目前的社會中,每個人至少都有一支手機,且大多已支援 JAVA 的執行平台,若程式設計師朝著這些 不同需求的手機使用者,量身訂做各自在生活上、事業上常用之手機程式,一定能降低需求者再翻閱歷史紀 錄的時間,及耗費在複雜運算上的過程,且能夠針對特殊需求來量身訂做各式各樣的簡易資料庫應用,未來 若能達到,效率一定能大大提高,因此在此方面的應用相信能更有更廣泛且更進一步的發展。

參考文獻

[1] 朱繼興,應用 J2ME 技術建立無線企業應用程式,國立中央大學,2001 [2] 陳順吉,以 J2ME 為平台之無線網路推播服務之研究,暨南國際大學,2003 [3] 張揚,J2ME 行動資訊系統之研究與開發,中原大學,2008 [4] 廖政安,應用 Java 技術結合無線網路之設計與實作,國立中央大學,2003 [5] 林俊佑,行動學習環境練習系統之設計與研究,國立臺灣師範大學,2004 [6] 黃晉元,手機之點對點線上購物系統的建置,大葉大學,2006 [7] 陳文福,手機 3D 藍芽連線遊戲系統之研究,國立台灣科技大學,2005

數據

圖 6  查詢單筆輸入資料執行圖  4.2 個人健康管理-BMI 計算程式  在手機模擬程式中上選擇執行本專題撰寫完成之檔案(BMI.java),出現執行畫面如圖七所示:  1

參考文獻

相關文件

學習語文必須積累。語文能力是在對語文材料大量反復感受、領悟、積累、運用的過程中

在這次的實作遊戲中,我們必須要先對所使用到的硬體 和軟體有其基本的認識,這樣我們才能充分利用我們所擁有 的條件,進一步達成目標。首先 DE2-70 繼承了 Altera 一系 列的開發軟體,如

首先,在前言對於為什麼要進行此項研究,動機為何?製程的選擇是基於

Windows/ Linux/ Mac 各種平台的開發套件,使我們能夠透過各種平台來開發 Android 軟體,所有的 Android 應用程式都是使用 Java

Excel VBA 乃是以 Visual Basic 程式語言為基礎,提供在 Excel 環境中進 行應用程式開發的能力。在 Excel 環境中「Visual Basic 編輯器」提供了一個

Eclipse 需要安裝 Java Runtime。建議使用 Java 7(又稱為 Java 1.7)或 Java 6。Java 提供兩種版本,Java Runtime Environment(JRE)和 Java Development Kit(JDK) 。

Eclipse 是一款由 Java 所編寫成的整合開發環境,最早是由 Object Technologies International 所開發,於 1996 年被 IBM 收購 後便改成 Common Public License 的授權方式,使

本研究以河川生態工法為案例探討對象,應用自行開發設計之網