嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用_第1頁
嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用_第2頁
嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用_第3頁
嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用_第4頁
嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

西北工業(yè)大學(xué)《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》設(shè)計(jì)報(bào)告學(xué)院:計(jì)算機(jī)學(xué)院學(xué)號(hào):姓名:高原專業(yè):計(jì)算機(jī)系統(tǒng)構(gòu)造設(shè)計(jì)時(shí)間:.07指導(dǎo)教師:蔣澤軍手機(jī)短信收發(fā)系統(tǒng)一、設(shè)計(jì)目的及規(guī)定本次課程設(shè)計(jì)重要是通過J2ME開發(fā)一種手機(jī)短信收發(fā)系統(tǒng),以實(shí)現(xiàn)短信的收發(fā)功效。通過設(shè)計(jì),進(jìn)一步加深對(duì)J2ME的原理、技術(shù)、在Eclipse環(huán)境下的開發(fā)以及無線消息轉(zhuǎn)發(fā)流程的掌握,增強(qiáng)對(duì)嵌入式系統(tǒng)應(yīng)用與開發(fā)的認(rèn)識(shí)。本次課程設(shè)計(jì)需要實(shí)現(xiàn)的功效涉及:(一)短信的發(fā)送當(dāng)顧客在主菜單界面選擇發(fā)送短信的功效時(shí),系統(tǒng)為顧客提供文本消息編輯器。當(dāng)顧客在消息編輯文本框中輸入要發(fā)送的文本消息并指定了發(fā)送目的地后,系統(tǒng)能夠?qū)㈩櫩偷奈谋拘畔l(fā)送到指定的目的地址。(二)短信的接受當(dāng)顧客運(yùn)行程序時(shí),系統(tǒng)能夠異步接受到發(fā)來的文本消息。當(dāng)有短信到來時(shí),接受端的屏幕顯示收到一條短信,提示顧客進(jìn)行查看。(三)短信的存儲(chǔ)系統(tǒng)需要設(shè)計(jì)一種收件箱,用來存儲(chǔ)接受到的短信,方便顧客進(jìn)行短信的查詢。二、設(shè)計(jì)環(huán)境及規(guī)定本次設(shè)計(jì)需要安裝的環(huán)境涉及:(一)WTKWTK的全稱是SunJ2MEWirelessToolkit——Sun的無線開發(fā)工具包。這一工具包設(shè)計(jì)目的是為協(xié)助開發(fā)人員簡化J2ME的開發(fā)過程。使用其中的工具能夠開發(fā)與JavaTechnologyfortheWirelessIndustry(JTWI,JSR185)規(guī)范兼容的設(shè)備上運(yùn)行的J2ME應(yīng)用程序。該工具箱包含了完整的生成工具、實(shí)用程序以及設(shè)備仿真器。WTK是用來開發(fā)MIDP的,為了讓MIDlet能夠順利編譯和執(zhí)行,WTK必須含有CLDC和MIDP的類庫,WTK能夠協(xié)助我們省去額外安裝調(diào)試這些類庫的時(shí)間。本次課程設(shè)計(jì)安裝的是sun_java_wireless_toolkit-2_5_2-ml-windows.exe。(二)Eclipse平臺(tái)Eclipse是一種開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一種框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。J2ME環(huán)境的配備過程:下載eclipse-SDK-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插件對(duì)應(yīng)的配備。三、設(shè)計(jì)內(nèi)容與環(huán)節(jié)(一)內(nèi)容介紹1.J2MEJ2ME的全稱是Java2MicroEdition(Java2技術(shù)微型版),是由美國SUN公司提出的JAVA技術(shù)規(guī)范。J2ME是為了能夠開發(fā)運(yùn)行在小型設(shè)備、獨(dú)立設(shè)備、互聯(lián)移動(dòng)設(shè)備、嵌入式設(shè)備上的JAVA應(yīng)用程序而被提出的。J2ME是建立在一種由概要描述、配備、JAVA虛擬機(jī)和操作系統(tǒng)等部分構(gòu)成的原則架構(gòu)之上的,這些內(nèi)容共同構(gòu)成了完整的J2ME實(shí)時(shí)運(yùn)行環(huán)境。它的技術(shù)核心是由一種JAVA虛擬機(jī)(JVM)及一套適合運(yùn)行在上述設(shè)備環(huán)境上的API接口構(gòu)成。2.J2ME平臺(tái)體系構(gòu)造J2ME平臺(tái)是由配備(Configuration)和簡表(Profile)構(gòu)成的。配備是提供應(yīng)最大范疇設(shè)備使用的最小類庫集合,在配備中同時(shí)包含Java虛擬機(jī)。簡表是針對(duì)一系列設(shè)備提供的開發(fā)包集合。在J2ME中尚有一種重要的概念是可選包(OptionalPackage),它是針對(duì)特定設(shè)備提供的。J2ME中有兩個(gè)最重要的配備,分別是ConnectedLimitedDevicesConfiguration(CLDC)和ConnectedDevicesConfiguration(CDC)。它們是根據(jù)設(shè)備的硬件性能進(jìn)行分辨的,例如解決器、內(nèi)存容量等。J2ME體系構(gòu)造框圖如圖1所示。3.MIDletMIDlet是JavaMECLDC執(zhí)行模型的核心。MIDlet相稱于CLDC/MIDP(MobileInformationDeviceProfile,移動(dòng)信息設(shè)備描述)中的應(yīng)用程序,他解決顧客輸入的內(nèi)容,并且顯示輸出內(nèi)容。MIDlet還負(fù)責(zé)管理與系統(tǒng)的交互,同時(shí)通過將系統(tǒng)的控制暫停并讓位給發(fā)起中斷的應(yīng)用程序,來響應(yīng)對(duì)資源的請(qǐng)求。全部MDIlet都必須實(shí)現(xiàn)4個(gè)辦法:OptionalPackagesHostOperatingSystemProfilesConfigurationsJavaOptionalPackagesHostOperatingSystemProfilesConfigurationsJava虛擬機(jī)MIDlet構(gòu)造辦法——當(dāng)系統(tǒng)需要構(gòu)造MIDlet實(shí)例的時(shí)候就會(huì)調(diào)用這個(gè)辦法。構(gòu)造辦法普通什么也不做,它將初始化工作延時(shí)給startApp辦法負(fù)責(zé)。startApp辦法——當(dāng)應(yīng)用程序啟動(dòng)或者繼續(xù)執(zhí)行的時(shí)候,AMS(ApplicationManagementSoftware,應(yīng)用程序管理軟件)會(huì)調(diào)用此辦法。startApp應(yīng)當(dāng)執(zhí)行全部必要的引導(dǎo)指令來初始化應(yīng)用程序,并呈現(xiàn)應(yīng)用程序的第一種屏幕。簡樸的應(yīng)用程序能夠選擇在該辦法內(nèi)完畢全部這些操作;較復(fù)雜的應(yīng)用程序能夠講這些操作放在互相獨(dú)立的一系列辦法內(nèi),然后在該辦法中調(diào)用。pauseApp辦法——當(dāng)系統(tǒng)由于任何因素必須中斷MIDlet時(shí)(例如有電話或者消息呼入,或者啟動(dòng)了另一種應(yīng)用程序),AMS會(huì)調(diào)用此辦法。MIDlet此時(shí)應(yīng)當(dāng)釋放任何不需要的資源。destroyApp辦法——當(dāng)應(yīng)用程序必須退出的時(shí)候,AMS會(huì)調(diào)用此辦法。4.MIDlet的生命周期MIDlet有三個(gè)狀態(tài),分別是pause、active和destroyed。在啟動(dòng)一種MIDlet的時(shí)候,AMS會(huì)首先創(chuàng)立一種MIDlet實(shí)例并使得他處在pause狀態(tài),當(dāng)startApp()辦法被調(diào)用的時(shí)候MIDlet進(jìn)入active狀態(tài),也就是所說的運(yùn)行狀態(tài)。在active狀態(tài)調(diào)用destroyApp(Booleanunconditional)或者pauseApp()辦法能夠使得MIDlet進(jìn)入destroyed或者pause狀態(tài)。在destroyed狀態(tài)的MIDlet必須釋放了全部的資源,并且保存了數(shù)據(jù)。如果unconditional為false的時(shí)候,MIDlet能夠在接到告知后拋出MIDletStateChangeException而保持在現(xiàn)在狀態(tài),如果設(shè)立為true的話,則必須立刻進(jìn)入destroyed狀態(tài)。5.通過無線消息API實(shí)現(xiàn)短信收發(fā)無線消息API涉及:SMS(ShortMessagingService)、EMS(EnhancedMessageService)、MMS(MultimediaMessagingService)。SMS是最早的短信服務(wù)原則,它是現(xiàn)在也是迄今為止普及率和使用率最高的一種短信業(yè)務(wù)。SMS的特點(diǎn)是:短信的長度被限定在160字節(jié)之內(nèi)(純文本,涉及文字和數(shù)字),如果是二元非文本短信(例如圖片和鈴聲),它的長度則為140字節(jié),另外手機(jī)短信又有著設(shè)定保存功效,即使顧客關(guān)機(jī)或不在服務(wù)區(qū)時(shí),只要一進(jìn)入網(wǎng)絡(luò)即可收到。SMS短信也是一種存儲(chǔ)和轉(zhuǎn)發(fā)服務(wù)。也就是說,短信并不是直接從發(fā)送人發(fā)送到接受人,而始終通過SMS中心進(jìn)行轉(zhuǎn)發(fā)的。如果接受人處在未連接狀態(tài)(可能電話已關(guān)閉),則消息將在接受人再次連接時(shí)發(fā)送。SMS短信含有消息發(fā)送確認(rèn)的功效。這意味著SMS與尋呼不同,顧客不是簡樸地發(fā)出短信然后相信消息已發(fā)送成功;而是短信發(fā)送人能夠收到返回消息,告知他們短信與否已經(jīng)發(fā)送成功。EMS比起SMS來,EMS的優(yōu)勢(shì)是除了能夠像SMS那樣發(fā)送文本短信之外,還能夠發(fā)送簡樸的圖像、聲音和動(dòng)畫等信息。MMS能夠用于傳送文字、圖片、動(dòng)畫、音頻和視頻等多媒體信息。本文設(shè)計(jì)的短信收發(fā)系統(tǒng)重要采用SMS來實(shí)現(xiàn)。(二)具體設(shè)計(jì)環(huán)節(jié)1.類設(shè)計(jì)短信收發(fā)系統(tǒng)共包含四個(gè)類。類之間的關(guān)系圖2所示:InboxInboxReceiverSMSMIDletSenderForm圖2類關(guān)系圖SMSMIDlet類——該類是應(yīng)用程序的主類,控制應(yīng)用程序的生命周期。SenderForm類——該類提供了編輯短信的顧客界面和發(fā)送信息的功效。Receiver類——該類提供了打開消息連接及接受短信的功效。Inbox類——該類描述了收件箱,提供了查看接受的短信的功效。2.短信發(fā)送與接受的過程發(fā)送端:創(chuàng)立無線消息的客戶連接;調(diào)用連接對(duì)象的newMessage辦法創(chuàng)立一種消息對(duì)象;設(shè)立消息對(duì)象的內(nèi)容;使用連接對(duì)象的send辦法發(fā)送消息;短信發(fā)送線程執(zhí)行體,建立連接并發(fā)送短信。publicvoidrun(){try{StringsmsUrl="sms://"+receiverAddress+":"+desPort;MessageConnectionmsgConn=(MessageConnection)Connector.open(smsUrl);TextMessagetextMessage=(TextMessage)msgConn.newMessage(MessageConnection.TEXT_MESSAGE);textMessage.setPayloadText(messageContent);msgConn.send(textMessage);msgConn.close();}catch(IOExceptionioe){midlet.showError("發(fā)送信息錯(cuò)誤!\n"+ioe.toString());}}接受端:創(chuàng)立無線消息服務(wù)器端連接;設(shè)立消息監(jiān)聽器;當(dāng)有消息達(dá)成時(shí),監(jiān)聽器將回調(diào)MessageListener接口中的notifyIncomingMessage辦法。在該辦法中,連接對(duì)象調(diào)用receive辦法接受消息;在端口port打開一種sms連接,并啟動(dòng)一種接受消息的線程。publicMessageConnectionopenConnection(Stringport)throwsIOException{msgConn=(MessageConnection)Connector.open("sms://:"+port);pendingMessages=0;//沒有解決的信息的個(gè)數(shù)dead=false;//創(chuàng)立消息接受線程,并啟動(dòng)Threadt=newThread(this);t.start();//調(diào)用run()辦法returnmsgConn;}四、設(shè)計(jì)成果與數(shù)據(jù)解決最后系統(tǒng)運(yùn)行的成果以下圖所示。(一)首先,運(yùn)行該程序,打開兩個(gè)手機(jī)終端。如圖3所示。圖3圖4圖5(二)使用終端1向終端2發(fā)送短信。打開終端1的發(fā)送短信功效后,在收件人號(hào)碼文本框中輸入接受端的號(hào)碼,然后在消息內(nèi)容文本框中輸入要發(fā)送的信息,點(diǎn)擊發(fā)送按鈕進(jìn)行發(fā)送。如圖4所示。(三)接受端接受到短信時(shí),顯示提示信息。如圖5所示。(四)通過收件箱能夠查看收到的短信。如圖6所示。(五)點(diǎn)擊下一條按鈕能夠查看下一條短信。如圖7所示。圖6圖7五、分析與討論本次課程設(shè)計(jì)較好地完畢了預(yù)先的設(shè)計(jì)規(guī)定,實(shí)現(xiàn)了短信收發(fā)系統(tǒng)的重要功效。另外,對(duì)J2ME開發(fā)嵌入式手機(jī)應(yīng)用的技術(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論