版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、西北工業(yè)大學(xué)嵌入式系統(tǒng)設(shè)計及應(yīng)用設(shè)計報告學(xué) 院: 計算機(jī)學(xué)院 學(xué)號: 2009201577 姓名: 高原 專 業(yè): 計算機(jī)系統(tǒng)結(jié)構(gòu) 設(shè)計時間: 2010.07 指導(dǎo)教師: 蔣澤軍 手機(jī)短信收發(fā)系統(tǒng)一、設(shè)計目的及要求本次課程設(shè)計主要是通過J2ME開發(fā)一個手機(jī)短信收發(fā)系統(tǒng),以實現(xiàn)短信的收發(fā)功能。通過設(shè)計,進(jìn)一步加深對J2ME的原理、技術(shù)、在Eclipse環(huán)境下的開發(fā)以及無線消息轉(zhuǎn)發(fā)流程的掌握,增強(qiáng)對嵌入式系統(tǒng)應(yīng)用與開發(fā)的認(rèn)識。本次課程設(shè)計需要實現(xiàn)的功能包括:(一)短信的發(fā)送當(dāng)用戶在主菜單界面選擇發(fā)送短信的功能時,系統(tǒng)為用戶提供文本消息編輯器。當(dāng)用戶在消息編輯文本框中輸入要發(fā)送的文本消息并指定了發(fā)送
2、目的地后,系統(tǒng)能夠?qū)⒂脩舻奈谋拘畔l(fā)送到指定的目的地址。(二)短信的接收當(dāng)用戶運行程序時,系統(tǒng)能夠異步接收到發(fā)來的文本消息。當(dāng)有短信到來時,接收端的屏幕顯示收到一條短信,提示用戶進(jìn)行查看。(三)短信的存儲系統(tǒng)需要設(shè)計一個收件箱,用來存儲接收到的短信,方便用戶進(jìn)行短信的查詢。二、設(shè)計環(huán)境及要求本次設(shè)計需要安裝的環(huán)境包括:(一)WTKWTK 的全稱是Sun J2ME Wireless ToolkitSun的無線開發(fā)工具包。這一工具包設(shè)計目的是為幫助開發(fā)人員簡化J2ME的開發(fā)過程。使用其中的工具可以開發(fā)與 Java Technology for the Wireless Industry (JTWI
3、, JSR 185) 規(guī)范兼容的設(shè)備上運行的J2ME 應(yīng)用程序。該工具箱包含了完整的生成工具、實用程序以及設(shè)備仿真器。WTK是用來開發(fā)MIDP的,為了讓MIDlet可以順利編譯和執(zhí)行,WTK必須具有CLDC和MIDP的類庫,WTK可以幫助我們省去額外安裝調(diào)試這些類庫的時間。本次課程設(shè)計安裝的是sun_java_wireless_toolkit-2_5_2-ml-windows.exe。(二)Eclipse平臺Eclipse是一個開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。J2ME環(huán)境的配置過程:下載eclipse-SDK
4、-3.1-win32.zip,解壓縮eclipse-SDK-3.1-win32.zip將eclipseme.feature_1.5.0_motosdk_site.zip和eclipseme.feature_1.7.9_site.zip拷入eclipse目錄。安裝用Eclipse開發(fā)J2ME程序的插件,進(jìn)行EclipseMe插件相應(yīng)的配置。三、設(shè)計內(nèi)容與步驟(一)內(nèi)容介紹1J2MEJ2ME的全稱是Java2 Micro Edition(Java2技術(shù)微型版),是由美國SUN公司提出的JAVA技術(shù)規(guī)范。J2ME是為了能夠開發(fā)運行在小型設(shè)備、獨立設(shè)備、互聯(lián)移動設(shè)備、嵌入式設(shè)備上的JAVA應(yīng)用程序而被
5、提出的。J2ME是建立在一個由概要描述、配置、JAVA虛擬機(jī)和操作系統(tǒng)等部分組成的標(biāo)準(zhǔn)架構(gòu)之上的,這些內(nèi)容共同組成了完整的J2ME實時運行環(huán)境。它的技術(shù)核心是由一個JAVA虛擬機(jī)(JVM)及一套適合運行在上述設(shè)備環(huán)境上的API接口構(gòu)成。2J2ME 平臺體系結(jié)構(gòu)J2ME 平臺是由配置(Configuration)和簡表(Profile)構(gòu)成的。配置是提供給最大范圍設(shè)備使用的最小類庫集合,在配置中同時包含Java 虛擬機(jī)。簡表是針對一系列設(shè)備提供的開發(fā)包集合。在J2ME 中還有一個重要的概念是可選包(Optional Package),它是針對特定設(shè)備提供的。J2ME 中有兩個最主要的配置,分別是
6、Connected Limited Devices Configuration(CLDC)和Connected Devices Configuration(CDC)。它們是根據(jù)設(shè)備的硬件性能進(jìn)行區(qū)分的,例如處理器、內(nèi)存容量等。J2ME 體系結(jié)構(gòu)框圖如圖1所示。3MIDletMIDlet是Java ME CLDC執(zhí)行模型的核心。MIDlet相當(dāng)于CLDC/MIDP (Mobile Information Device Profile,移動信息設(shè)備描述)中的應(yīng)用程序,他處理用戶輸入的內(nèi)容,并且顯示輸出內(nèi)容。MIDlet還負(fù)責(zé)管理與系統(tǒng)的交互,同時通過將系統(tǒng)的控制暫停并讓位給發(fā)起中斷的應(yīng)用程序,來響
7、應(yīng)對資源的請求。所有MDIlet都必須實現(xiàn)4個方法:Optional PackagesHost Operating SystemProfilesConfigurationsJava虛擬機(jī) 圖1 J2ME體系結(jié)構(gòu)框圖MIDlet構(gòu)造方法當(dāng)系統(tǒng)需要構(gòu)造MIDlet實例的時候就會調(diào)用這個方法。構(gòu)造方法通常什么也不做,它將初始化工作延時給startApp方法負(fù)責(zé)。startApp方法當(dāng)應(yīng)用程序啟動或者繼續(xù)執(zhí)行的時候,AMS(Application Management Software,應(yīng)用程序管理軟件)會調(diào)用此方法。startApp應(yīng)該執(zhí)行所有必要的引導(dǎo)指令來初始化應(yīng)用程序,并呈現(xiàn)應(yīng)用程序的第一個屏
8、幕。簡單的應(yīng)用程序可以選擇在該方法內(nèi)完成所有這些操作;較復(fù)雜的應(yīng)用程序可以講這些操作放在相互獨立的一系列方法內(nèi),然后在該方法中調(diào)用。pauseApp方法當(dāng)系統(tǒng)因為任何原因必須中斷MIDlet時(例如有電話或者消息呼入,或者啟動了另一個應(yīng)用程序),AMS會調(diào)用此方法。MIDlet此時應(yīng)當(dāng)釋放任何不需要的資源。destroyApp方法當(dāng)應(yīng)用程序必須退出的時候,AMS會調(diào)用此方法。4MIDlet的生命周期MIDlet有三個狀態(tài),分別是pause、active 和destroyed。在啟動一個MIDlet的時候,AMS會首先創(chuàng)建一個MIDlet實例并使得他處于pause 狀態(tài),當(dāng)startApp()方
9、法被調(diào)用的時候MIDlet進(jìn)入active 狀態(tài),也就是所說的運行狀態(tài)。在active 狀態(tài)調(diào)用destroyApp(Boolean unconditional)或者pauseApp()方法可以使得MIDlet進(jìn)入destroyed或者pause 狀態(tài)。在destroyed 狀態(tài)的MIDlet必須釋放了所有的資源,并且保存了數(shù)據(jù)。如果unconditional 為false 的時候, MIDlet可以在接到通知后拋出MIDletStateChangeException 而保持在當(dāng)前狀態(tài),如果設(shè)置為true的話,則必須立即進(jìn)入destroyed狀態(tài)。5通過無線消息API實現(xiàn)短信收發(fā)無線消息API
10、包括:SMS(Short Messaging Service)、EMS(Enhanced Message Service)、MMS(Multimedia Messaging Service)。SMS是最早的短信服務(wù)標(biāo)準(zhǔn),它是目前也是迄今為止普及率和使用率最高的一種短信業(yè)務(wù)。SMS的特點是:短信的長度被限定在160字節(jié)之內(nèi)(純文本,包括文字和數(shù)字),如果是二元非文本短信(例如圖片和鈴聲),它的長度則為140字節(jié),此外手機(jī)短信又有著設(shè)定保留功能,即使用戶關(guān)機(jī)或不在服務(wù)區(qū)時,只要一進(jìn)入網(wǎng)絡(luò)即可收到。SMS 短信也是一種存儲和轉(zhuǎn)發(fā)服務(wù)。也就是說,短信并不是直接從發(fā)送人發(fā)送到接收人,而始終通過 SMS
11、中心進(jìn)行轉(zhuǎn)發(fā)的。如果接收人處于未連接狀態(tài)(可能電話已關(guān)閉),則消息將在接收人再次連接時發(fā)送。 SMS 短信具有消息發(fā)送確認(rèn)的功能。這意味著 SMS 與尋呼不同,用戶不是簡單地發(fā)出短信然后相信消息已發(fā)送成功;而是短信發(fā)送人可以收到返回消息,通知他們短信是否已經(jīng)發(fā)送成功。EMS比起SMS來,EMS的優(yōu)勢是除了可以像SMS那樣發(fā)送文本短信之外,還可以發(fā)送簡單的圖像、聲音和動畫等信息。MMS可以用于傳送文字、圖片、動畫、音頻和視頻等多媒體信息。本文設(shè)計的短信收發(fā)系統(tǒng)主要采用SMS來實現(xiàn)。(二)具體設(shè)計步驟1類設(shè)計短信收發(fā)系統(tǒng)共包含四個類。類之間的關(guān)系圖2所示:InboxReceiverSMSMIDle
12、tSenderForm圖2 類關(guān)系圖SMSMIDlet類該類是應(yīng)用程序的主類,控制應(yīng)用程序的生命周期。 SenderForm類該類提供了編輯短信的用戶界面和發(fā)送信息的功能。Receiver類該類提供了打開消息連接及接受短信的功能。 Inbox類該類描述了收件箱,提供了查看接受的短信的功能。2短信發(fā)送與接收的過程發(fā)送端:創(chuàng)建無線消息的客戶連接;調(diào)用連接對象的newMessage方法創(chuàng)建一個消息對象;設(shè)置消息對象的內(nèi)容;使用連接對象的send方法發(fā)送消息;短信發(fā)送線程執(zhí)行體,建立連接并發(fā)送短信。public void run() try String smsUrl = sms:/+receiver
13、Address+:+desPort; MessageConnection msgConn = (MessageConnection)Connector.open(smsUrl); TextMessage textMessage = (TextMessage)msgConn.newMessage(MessageConnection.TEXT_MESSAGE); textMessage.setPayloadText(messageContent); msgConn.send(textMessage); msgConn.close(); catch(IOException ioe) midlet.s
14、howError(發(fā)送信息錯誤!n + ioe.toString(); 接收端:創(chuàng)建無線消息服務(wù)器端連接;設(shè)置消息監(jiān)聽器;當(dāng)有消息到達(dá)時,監(jiān)聽器將回調(diào)MessageListener接口中的notifyIncomingMessage方法。在該方法中,連接對象調(diào)用receive方法接收消息;在端口port打開一個sms連接,并啟動一個接收消息的線程。public MessageConnection openConnection(String port) throws IOException msgConn = (MessageConnection)Connector.open(sms:/: + p
15、ort); pendingMessages = 0; /沒有處理的信息的個數(shù) dead = false; /創(chuàng)建消息接收線程,并啟動 Thread t = new Thread(this); t.start(); /調(diào)用run()方法 return msgConn; 四、設(shè)計結(jié)果與數(shù)據(jù)處理最終系統(tǒng)運行的結(jié)果如下圖所示。(一)首先,運行該程序,打開兩個手機(jī)終端。如圖3所示。 圖3 圖4 圖5(二)使用終端1向終端2發(fā)送短信。打開終端1的發(fā)送短信功能后,在收件人號碼文本框中輸入接收端的號碼,然后在消息內(nèi)容文本框中輸入要發(fā)送的信息,點擊發(fā)送按鈕進(jìn)行發(fā)送。如圖4所示。(三)接收端接收到短信時,顯示提示信息。如圖5所示。(四)通過收件箱可以查看收到的短信。如圖6所示。(五)點擊下一條按鈕可以查看下一條短信。如圖7所示。 圖6 圖7五、分析與討論本次課程設(shè)計較好地完成了預(yù)先的設(shè)計要求,實現(xiàn)了短信收發(fā)系統(tǒng)的主要功能。另外,對J2ME開發(fā)嵌入式手機(jī)應(yīng)用的技術(shù)及過程有了進(jìn)一步的認(rèn)識和理解。但在設(shè)計過程中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《國家物資應(yīng)急預(yù)案》(3篇)
- 2026年零售業(yè)智慧創(chuàng)新應(yīng)用報告
- 珠寶平臺活動策劃方案(3篇)
- 電動閘閥施工方案(3篇)
- 礦區(qū)開采施工方案(3篇)
- 秋日系列活動策劃方案(3篇)
- 線上活動方案如何策劃(3篇)
- 置換物品活動策劃方案(3篇)
- 自閉貫通應(yīng)急預(yù)案(3篇)
- 西藏航天活動策劃方案(3篇)
- 2025至2030中國專用車行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報告
- DB13∕T 6066.3-2025 國資數(shù)智化 第3部分:數(shù)據(jù)治理規(guī)范
- 2025年白山輔警招聘考試題庫及答案1套
- 特種設(shè)備外借協(xié)議書
- 三元股份財務(wù)風(fēng)險控制研究
- 2025年廣東高校畢業(yè)生三支一扶考試真題
- DBJ-T 13-417-2023 工程泥漿技術(shù)標(biāo)準(zhǔn)
- 湖南省長沙市雅禮教育集團(tuán)2024-2025學(xué)年七年級(下)期末數(shù)學(xué)試卷
- 鋁業(yè)廠房建設(shè)項目施工組織方案
- DB63-T 2256.3-2025 水利信息化工程施工質(zhì)量評定規(guī)范 第3部分 水情監(jiān)測系統(tǒng)
- 患者身份識別錯誤應(yīng)急預(yù)案與處理流程
評論
0/150
提交評論