【正文】
design and implementation of this feature using the Socket based transport protocol TCP, and use of the work munication function MIDP. This paper focuses on the application of J2ME technology, have also chosen based on the TCP / IP work protocol programming. Paper introduces the Eclipse integrated development environment, J2ME architecture, configuration, profile and other basic norms of knowledge; Secondly, an analysis of the realization of mobile munication technology and the relevant basic theory, that is, the wireless interface function WMA, MIDP work munication function, etc.。論文首先 介紹了 Eclipse 集成開發(fā)環(huán)境、 J2ME 的體系結(jié)構(gòu)、配置、簡表等基礎(chǔ)知識(shí) ;其 次, 分析了 實(shí)現(xiàn) 手機(jī)通信功能 的相關(guān)基礎(chǔ)技術(shù) 及理論 , 即無線接口函數(shù)WMA、 MIDP 的網(wǎng)絡(luò)通信功能 等;最后, 運(yùn)用 JAVA 語言編程,并在 SUN 公司提供的模擬器上模擬手機(jī)發(fā)送 和接收文本 信息及手機(jī)與 PC 機(jī)、手機(jī)與手機(jī)的網(wǎng)絡(luò)通信的功能。 J2ME 是近年來隨著各種移動(dòng)通信設(shè)備的 發(fā)展而誕生 的一項(xiàng)新的開發(fā)技術(shù) ,因其 “一次編寫,到處運(yùn)行” 的 Java 特性而提高開發(fā)的效率 。 隨著手機(jī) 的 普及、互聯(lián)網(wǎng)的日益更新和發(fā)展、 Java 功能在移動(dòng)設(shè)備上的實(shí)現(xiàn) , 越來越多基于手機(jī)平臺(tái)的應(yīng)用更是在飛速發(fā)展 , 對豐富人們的 生活內(nèi)容 起著不可忽視的作用。 關(guān)鍵詞 : J2ME; MIDP; WMA;發(fā)送和接收文本信息; Socket;網(wǎng)絡(luò)通信 Abstract II Abstract The present era is the information age, is also an era of cell phones, modern life39。 Finally, the use of JAVA programming language and simulator SUN provided on the analog phones to send and receive text messages and mobile phone with PC, mobile phone and mobile phone work munication functions. Key words: J2ME。 Socket。移動(dòng)用戶在高速發(fā)展的同時(shí),對移動(dòng)通信業(yè)務(wù)的需求也越來越高,用戶已不局限于進(jìn)行基本的通話功能,更需要諸如數(shù)據(jù)、傳真等新業(yè)務(wù)。此外,短信 與手機(jī)通話相比 的另一大優(yōu)點(diǎn)是只要不關(guān)機(jī),可以隨時(shí)接收發(fā)送短信息。 互聯(lián)網(wǎng)的日益更新和發(fā)展以及 3G 技術(shù)應(yīng)用的日益逼近,越來越多基于手機(jī)平臺(tái)的應(yīng)用更是在飛速發(fā)展,互聯(lián)網(wǎng)和手機(jī)應(yīng)用相結(jié)合逐步成為了如今 手機(jī) 發(fā)展的新趨勢 ,同時(shí)也為 移動(dòng)應(yīng)用開發(fā)迎來空前的發(fā)展機(jī)遇。 而 Java 技術(shù)在手機(jī)及無線設(shè)備應(yīng)用方面有非常明顯優(yōu)勢,主要是: (1)應(yīng)用程序可以根據(jù)用戶的需要進(jìn)行下載,而不需要購買由硬件廠商提供的套件,并且還可以進(jìn)行升級。 眾所周知, 為了滿足這些信息設(shè)備日益擴(kuò)大的需求, SUN公司通過引進(jìn) J2ME 即 Java 2 Micro Edition 技術(shù)擴(kuò)大 Java 技術(shù)的使用范圍, J2ME 是 在移動(dòng)設(shè)備上運(yùn)行的微型版 Java 平臺(tái) ,也是當(dāng)前較為流行的開發(fā)工具。 (2)第 二章, 開發(fā)環(huán)境與開發(fā)技術(shù)的介紹,即對 J2ME 開發(fā)環(huán)境的 Eclipse工作臺(tái)、 WTK開發(fā)包 、 MIDP 規(guī)范和應(yīng)用程序及套件、通用連接框架 GCF、 Windows套接字編程 等的介紹。 (6)第六 章,總結(jié)與展望。幸運(yùn)的是, Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具( Java Development Tools, JDT)。 這種平等和一致性并不僅限于 Java 開發(fā)工具。 WTK 可以支持各種最新的技術(shù)規(guī)范,提供一個(gè)通用的模擬器在 PC 上測試所開發(fā)的應(yīng)用程序。例如 Nokia 提供的Developer’ s Suit SDK。實(shí)現(xiàn) MIDP 規(guī)范的軟件運(yùn)行于 CLDC 提供的 KVM 上,為使用 MIDP API 的應(yīng)用程序提供額外的功能。再上一級,從左到右是上一層的軟件 CLDC。該軟件負(fù)責(zé)程序的安裝部署、啟動(dòng)、停止以及從設(shè)備上刪除等等,并在此過程中負(fù)責(zé)錯(cuò)誤處理和與用戶交互,為程序提供了 Java運(yùn)行環(huán)境。當(dāng) AMS 調(diào)用 pauseApp()方法或者M(jìn)IDlet 自身調(diào)用 notifyPaused()方法后, MIDlet 進(jìn)入 Paused 狀態(tài)。 AMS調(diào)用 destroyApp()方法或者 MIDlet 自身調(diào)用 notifyDestroyed()方法, MIDlet進(jìn)入 Destroyed 狀態(tài)。除了 Java 類以外,其他文件諸如圖像和應(yīng)用程序數(shù)據(jù) (即通常所說的資源 ),也可能是這個(gè)程序包的一部分,另外還包括描述JAR 內(nèi)容的清單文件 ()。如 MIDletName 屬性指明了 MIDlets江蘇大學(xué)本科畢業(yè)論文 7 的名稱, MIDletVersion 屬性表示 MIDlets 的版本號等等。 每個(gè) MIDlets 都可以存在一個(gè)可選的應(yīng)用程序描述文件 JAD(Application Descriptor)。 [3] 3. 通用連接框架 GCF 對于手機(jī)而言,能夠進(jìn)行網(wǎng)絡(luò)通信是一個(gè)基本要求,那么在進(jìn)行手機(jī)程序設(shè)計(jì)時(shí)就需要將聯(lián)網(wǎng)方面的能力考慮進(jìn)去。這一設(shè)計(jì)大大提高了通用連接框架的適應(yīng)性和擴(kuò)充性,移動(dòng)設(shè)備制造商可以根據(jù)需要在簡表中擴(kuò)充連接框架來對特定協(xié)議提供支持。 C o n n e c t io nS t r e a mC o n n e c t io n N o t if ie rO u t p u tC o n n e c t io nI n p u tC o n n e c t io nD a t a g r a mC o n n e c t io nS e r v e r S o c k e t C o n n e c t ionS t r e a m C o n n e c t ionU D P D a t a g r a m C o n n e c t io nC o m m C o n n e c t io nC o n t e n t C o n n e c t io nS o c k e t C o n n e c t ionS e c u r e C o n n e c t io nH t t p C o n n e c t io n H t t p s C o n n e c t io nC o n n e c t io n N o t F o u n d E x c e p t io nC o n n e c t o r D a t a g r a m圖 GCF的繼承體系 江蘇大學(xué)本科畢業(yè)論文 8 在下面的實(shí)驗(yàn)設(shè)計(jì)中,主要用到以 幾種接口 : ( 1) Connection Connection 接口是最基本的通用連接類型,它是所有連接接口的根源,即 包中的所有接口都是基于 Connection 接口的。 ( 3) StreamConnection StreamConnection 接口定義了流連接所需的能力,可以提供輸入流和輸出流,實(shí)際上是 InputConnection 和 OutputConnection 接口的封裝。應(yīng)用程序通過 WinSock API 設(shè)計(jì)通信程序, WinSock 利用網(wǎng)絡(luò)通信協(xié)議和操作系統(tǒng)調(diào)用完成實(shí)際的通信工作。 套接字描述符就是一個(gè)整數(shù)類型的值,在 Windows 中的類型是 SOCKET。因此根據(jù)套接字描述符就可以找到其對應(yīng)的套接字?jǐn)?shù)據(jù)結(jié)構(gòu)。 J2ME 的基本概念 J2ME 是 Sun 公司推出的一個(gè)專門面向小型設(shè)備應(yīng)用的“簡易”平臺(tái),這里的小型設(shè)備包括移動(dòng)電話、個(gè)人數(shù)字輔助設(shè)備( PDA)、網(wǎng)絡(luò)電話、數(shù)字電視上的機(jī)頂盒、自動(dòng)娛樂系統(tǒng)、導(dǎo)航系統(tǒng)、網(wǎng)絡(luò)交換以及家用自動(dòng)電器等。 [9] J2ME 的體系結(jié)構(gòu) 中 定義了如下組件: (1)一組 Java 虛擬機(jī),每種都用于不同的小型設(shè)備,滿足不同的需求。運(yùn)行環(huán)境的核心是 Java 虛擬機(jī),運(yùn)行于設(shè)備的主機(jī) 操作系統(tǒng)之上,在往上是具 體 的 J2ME配置,包括根據(jù)設(shè)備的資源需要提供基本功能的編輯庫。 J2ME 支持的硬件平臺(tái)中有比較高端的設(shè)備,例如,電視江蘇大學(xué)本科畢業(yè)論文 10 機(jī)的機(jī)頂盒、網(wǎng)絡(luò)電視等;也有比較 低端的,像手機(jī)、尋呼機(jī)等。對配置的說明如下: (1)規(guī)定了所支持的 Java 編程語言特征。 第二, J2ME 虛擬機(jī)。簡表為相同消費(fèi)電子設(shè)備的不同生產(chǎn)廠商提供標(biāo)準(zhǔn)化的Java 類庫。目前針對無線領(lǐng)域的可選包有:Wireless Messaging API(JSR120)、 Mobile Media API(JSR135)等。此外, CDC 規(guī)范和 CLDC 規(guī)范中也都定義了基本的 API 集合,這些 API 提供 Java 的基本功能,例如: 、 、 、 ,這些包就是定義于 CDC 和 CLDC 中。采用 Java 技術(shù)后,編寫應(yīng)用程序和提供服務(wù)的人就不必關(guān)系接收其服務(wù)的手機(jī)采用的是什么樣的操作系統(tǒng)和芯片,移動(dòng)設(shè)備只要滿足支持特定配置和簡表的約束,就可以運(yùn)行這些 Java 應(yīng)用。 (4)與企業(yè)應(yīng)用的無縫結(jié)合 隨著 J2EE 中間 服務(wù)器的流行, Java 已成為創(chuàng)建 Web 應(yīng)用程序的第一選擇。 WMA 概述 無線消息接口 函數(shù) WMA 規(guī)范設(shè)計(jì)的目標(biāo)是那些能夠發(fā)送和接收 文本信 息的手機(jī)及其他移動(dòng)信息設(shè)備。但是 WMA規(guī)范使得這些底層的傳輸細(xì)節(jié)對于應(yīng)用程序開發(fā)變得透明。 i n t e r f a c e M e s s a g e C o n n e c t i o n i n t e r f a c e M e s s a g e i n t e r f a c e M e s s a g e L i s t e n e r i n t e r f a c e T e x t M e s s a g e i n t e r f a c e B i n a r y M e s s a g e i n t e r f a c e M u l t i p a r t M e s s a g eS i z e E x c e e d e d E x c e p t i o n M e s s a g e P a r t 圖 無線消息 API 在實(shí)現(xiàn)手機(jī)收發(fā) 文本 信息的設(shè)計(jì)過程中,用到了以下接口: ( 1) MessageConnection 接口 MessageConnection 擴(kuò)展了通用連接框架中的 Connection 接口,提供了發(fā)送( send)、接收( receive) 文本 消息和創(chuàng)建 文本 消息實(shí)例( newMessage)的方法。 Public Message newMessage(String type)—— 創(chuàng)建一個(gè)無線消息實(shí)例對象。 ( 2) MessageListener 接口 MessageListener 接口定義了下面的 方法。在無線消息 API 中分別定義了這三種消息類型的接口。 Public Date getTimestamp()— — 返回消息的發(fā)送時(shí)間。 Public string getPayloadText()— — 返回文本消息的內(nèi)容。 SMS 是一種短消息傳輸協(xié)議,可用于接收、發(fā)送文本短消息; MMS 是多媒體消息系統(tǒng)的傳輸協(xié)議; CBS 是基于手機(jī)廣播短消息服務(wù)的傳輸協(xié)議,只能用于接收由廣播基站發(fā)送的短消息。 使用這個(gè)無線消息連接的實(shí)例對象可以向 5550001手機(jī)上 50000端口上的應(yīng)用程序發(fā)送文本消息。 ( 2)調(diào)用連接對象的 newMessage 方法創(chuàng)建一個(gè)消息對象。 try{ //創(chuàng)建連接 String address=” 。 //使用 mConn 發(fā)送文本消息 tMsg (tMsg)。 ( 2)設(shè)置消息監(jiān)聽器。 mConns=(MessageConnection)(address)。 String msgContent=()。當(dāng) MIDlet 運(yùn)行時(shí),由 MIDlet 負(fù)責(zé)處理到來的連接。格式如下: MIDletPushn:ConnectionURL,MIDletClassName,AllowedSender 其中, n表示注冊的序號,從 1 開始計(jì)算; ConnectionURL表示連接終點(diǎn)的協(xié)議和窗口,與 ()方法的參數(shù)相同,如