2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  2013屆 信息科學(xué)與技術(shù) 學(xué)院</p><p>  專 業(yè) </p><p>  學(xué) 號 </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師 </p&g

2、t;<p>  完成日期 2013年 6月 2日</p><p><b>  畢業(yè)設(shè)計成績單</b></p><p><b>  畢業(yè)設(shè)計任務(wù)書</b></p><p><b>  畢業(yè)設(shè)計開題報告</b></p><p><b>  摘 要&l

3、t;/b></p><p>  在網(wǎng)絡(luò)越來越發(fā)達的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò),WIFI覆蓋范圍也越來越廣,由此而產(chǎn)生的手機通訊控制工具也越來越多。Android憑借其開放性和良好的人機界面,改變了智能手機市場的格局。Android的最大特點是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。</p

4、><p>  本文對Android平臺的現(xiàn)狀進行了分析,進而研究了Android平臺的系統(tǒng)架構(gòu)和組件模型,以及Intent和生命周期的機制。在此基礎(chǔ)上,設(shè)計一個能在Android設(shè)備上運行的局域網(wǎng)通訊控制軟件。軟件利用Java語言和Eclipse編輯工具對軟件進行編寫,同時給出了詳細的系統(tǒng)設(shè)計過程、部分界面圖及主要功能運行流程圖。</p><p>  本系統(tǒng)界面友好、操作便捷,具有良好的可擴展

5、性和可維護性,系統(tǒng)經(jīng)過測試,可以穩(wěn)定運行,能夠滿足手機用戶的基本需求。</p><p>  關(guān)鍵詞:Android 通訊控制 Java</p><p><b>  Abstract</b></p><p>  With the more and more developed in the network now, people de

6、pendent and inseparable from the network, WIFI coverage more widely, the result is mobile communications and control tools become a fashion . Rely on its openness and good man-machine interface, Android changing the patt

7、ern of the smart phone market. The biggest feature of Android is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience, including&l

8、t;/p><p>  the paper analyzes the current Android platform situation, and then study the Android platform system architecture and component models, as well as Intent and a mechanism life cycle. On this basis,

9、design an Android device running in LAN communications control software. Software uses the Java language and Eclipse editing tools to write , and gives a detailed system design process, part of the interface and main fun

10、ctions of running a flowchart diagram.</p><p>  The system is user-friendly, easy to handle, has good scalability and maintainability resistance, the system has been tested and stable operation, to meet the

11、basic needs of mobile phone users.</p><p>  Key word:Android Communications and control Java </p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p>

12、<p>  1.1 研究背景內(nèi)容及意義1</p><p>  1.1.1 研究背景1</p><p>  1.1.2 研究內(nèi)容及意義1</p><p>  1.2 發(fā)展現(xiàn)狀及趨勢1</p><p>  1.3 論文主要結(jié)構(gòu)2</p><p>  第2章 開發(fā)工具簡介3</p><

13、;p>  2.1 Android概述3</p><p>  2.1.1 Android平臺簡介3</p><p>  2.1.2 Android平臺優(yōu)勢4</p><p>  2.2 開發(fā)環(huán)境5</p><p>  2.3 Eclipse概述6</p><p>  第3章 系統(tǒng)需求7</p>

14、;<p>  3.1 功能需求分析7</p><p>  3.2 系統(tǒng)流程9</p><p>  3.3 系統(tǒng)界面需求10</p><p>  3.4 可行性分析10</p><p>  3.5 開發(fā)及運行環(huán)境需求10</p><p>  第4章 通信控制軟件詳細設(shè)計12</p>

15、<p>  4.1 用戶界面的設(shè)計12</p><p>  4.1.1 用戶界面的實現(xiàn)13</p><p>  4.2 遠程遙控功能的實現(xiàn)13</p><p>  4.2.1 遠程遙控功能的設(shè)計原理14</p><p>  4.2.2 關(guān)機功能的實現(xiàn)14</p><p>  4.2.3 PPT遙控

16、功能的實現(xiàn)14</p><p>  4.3 無線鼠標功能的實現(xiàn)16</p><p>  4.3.1 無線鼠標功能的設(shè)計原理16</p><p>  4.3.2 鼠標移動功能的設(shè)計原理17</p><p>  4.3.3 鼠標點擊功能的設(shè)計原理18</p><p>  4.4 在線聊天功能的實現(xiàn)19</

17、p><p>  4.4.1 用戶注冊功能的實現(xiàn)19</p><p>  4.4.2 聊天功能實現(xiàn)20</p><p>  4.4.3 發(fā)送接收文件功能實現(xiàn)21</p><p>  第5章 結(jié)論與展望24</p><p><b>  參考文獻26</b></p><p>

18、;<b>  致 謝27</b></p><p><b>  附錄A28</b></p><p><b>  外文翻譯英文28</b></p><p><b>  外文翻譯中文37</b></p><p><b>  第1章 緒論<

19、;/b></p><p>  1.1 研究背景內(nèi)容及意義</p><p>  1.1.1 研究背景</p><p>  自從2008年9月22日美國運營商T-Mobile USA 在紐約正式發(fā)布了第一款基于Android的手機后更多的移動設(shè)備廠商看到了Android的光明前景并紛紛加入其中Android甚至已經(jīng)涉足上網(wǎng)本市場了其發(fā)展前景廣闊涉及領(lǐng)域越來越大。隨

20、著Android手機的普及Android應(yīng)用的需求勢越來越大這個潛力巨大的市場已經(jīng)吸引無數(shù)軟件開發(fā)廠商和開發(fā)者投身其中。Android的開放性使其比蘋果和黑莓對年輕人更具吸引力更能吸引年輕人群的關(guān)注和喜愛。同時因為Android系統(tǒng)的開放性為Android平板電腦的快速發(fā)展奠定了基礎(chǔ)也才能促使其吸引著越來越多的用戶接受和使用。同時Android還具有應(yīng)用程序無界限、應(yīng)用程序是在平的的條件下創(chuàng)建的、應(yīng)用程序可以輕松的嵌入網(wǎng)絡(luò)、應(yīng)用程序可以

21、并行運行等眾多出色的品質(zhì)。安卓系統(tǒng)在不斷升級完善如今平板電腦市場已成為Android與蘋果iOS除了智能手機領(lǐng)域之外爭奪的第二個焦點。一直以來多數(shù)新聞仍然顯示iPad在平板市場的霸主地位難撼。但是以Android領(lǐng)頭的平板電腦正以高速的增長對蘋果iPad造成沖擊。</p><p>  1.1.2 研究內(nèi)容及意義</p><p>  Android平臺手機通訊控制軟件,運用Java語言,實現(xiàn)

22、與同一局域網(wǎng)的其他Android設(shè)備通訊,文件傳輸,并能對電腦進行關(guān)機,控制PPT等操作并實現(xiàn)無線鼠標的功能。</p><p>  Android平臺的通訊控制軟件的意義:</p><p> ?。?)極大的方便了處于同一局域網(wǎng)用戶間的即時通訊;</p><p>  (2)PPT遙控使得用戶做呈現(xiàn)時可以脫離電腦束縛;</p><p> ?。?)

23、無線鼠標可以實現(xiàn)較遠地方對電腦的相關(guān)操作;</p><p> ?。?)文件傳輸可以使資源更好的被利用。</p><p>  1.2 發(fā)展現(xiàn)狀及趨勢</p><p>  Android平臺自2010年以來呈現(xiàn)出突飛猛進的發(fā)展勢頭,在全球智能手機市場中所占份額從不到10%一路猛增至50%以上,儼然已經(jīng)搶占了“半壁江山”。與此同時,基于Android平臺的各種應(yīng)用也層出不

24、窮。</p><p>  目前市場上有Mobile CC,Home Center等遠程控制軟件,比較出名的局域網(wǎng)通信軟件有飛鴿,飛秋等。</p><p>  (1) Mobile CC支持WIFI連接、GPRS連接,控制電腦已實現(xiàn),不遠的將來,伴隨著物聯(lián)網(wǎng)的進一步發(fā)展,遙控汽車,控制空調(diào),智能冰箱操控等終將得到實現(xiàn),目前該軟件可遙控電腦音視頻播放,游戲操控,PPT播放,電腦快捷操作。<

25、;/p><p>  (2) Home Center是一款可以利用手機遠程控制電腦的免費遠程控制軟件,Home Center運行在系統(tǒng)托盤,并允許遠程訪問您的手機。</p><p>  (3) 飛鴿傳書是一款面向企業(yè)辦公的即時通訊軟件,基于TCP/IP模式。 企業(yè)員工可在企業(yè)內(nèi)部或外部通過飛鴿傳書進行通訊,支持消息發(fā)送,文件傳輸,語音視頻等。為企業(yè)提供安全,穩(wěn)定的即時通訊解決方案。</p&

26、gt;<p>  局域網(wǎng)通信控制軟件的發(fā)展趨勢:</p><p>  (1) 實現(xiàn)的功能更加多樣化;</p><p>  (2) 由單一的控制電腦向控制其他家用電器設(shè)備轉(zhuǎn)變。</p><p>  1.3 論文主要結(jié)構(gòu)</p><p><b>  本論文的主要結(jié)構(gòu):</b></p><p&

27、gt;  第1章介紹Android的發(fā)展史,并分析了本課題研究的背景現(xiàn)狀及意義。簡單介紹了目前市場上比較流行的一些手機控制軟件。介紹了論文的主要研究內(nèi)容和整個論文的結(jié)構(gòu)。</p><p>  第2章簡要介紹了Android系統(tǒng)以及Android項目和系統(tǒng)設(shè)計過程中用到的工具和技術(shù)。</p><p>  第3章主要對本系統(tǒng)的功能需求、性能需求、可行性分析、運行環(huán)境作了詳細分析和概要設(shè)計。&l

28、t;/p><p>  第4章將整個系統(tǒng)功能詳細設(shè)計分為幾個模塊作了詳細介紹。詳細詳細說明了:界面的設(shè)計與實現(xiàn)、遠程遙控功能的實現(xiàn)、在線聊天功能的實現(xiàn)、無線鼠標功能的實現(xiàn)等,其中包括每個功能模塊的主要代碼和界面,最后介紹了相關(guān)權(quán)限的使用。</p><p>  第5章是結(jié)論與展望。對課題研究內(nèi)容及過程進行總結(jié),分析研究內(nèi)容的發(fā)展趨勢以及發(fā)展前景。</p><p>  第2章

29、 開發(fā)工具簡介</p><p>  2.1 Android概述</p><p>  2.1.1 Android平臺簡介</p><p>  Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android從誕生到現(xiàn)在也不過3年的時間,但是也就是在這短短的3年內(nèi)Andr

30、oid創(chuàng)造了一個迅速被人們知曉并追捧的奇跡。2007 年11 月5 日,Google 與其他33 家手機制造商(包含摩托羅拉、宏達電、三星、LG)、手機晶片供應(yīng)商、軟硬體供應(yīng)商、電信業(yè)者所聯(lián)合組成的開放手持裝置聯(lián)盟(Open Handset Alliance),發(fā)布了名為Android的開放手機軟硬體平臺。該聯(lián)盟的成員宣布日后都會在Android平臺上開發(fā)他們的新的業(yè)務(wù)。不久之后的2008 年9 月24 日,T-Mobile 公司首度公

31、布第一臺Android 手機(G1)的細節(jié),同日Google 也放出了Android SDK 1.0 rc1。這樣Android進入了人們的視線[1]。</p><p>  Android以其特有的開放性優(yōu)勢越來越受到人們和智能手機廠商的關(guān)注。</p><p>  對于第三放軟件開發(fā)商來說,Android 是一個真正意義上的開放性移動設(shè)備綜合平臺,Android系統(tǒng)是免費向開發(fā)人員提供的,

32、這樣就避免了開發(fā)中專利權(quán)的障礙。因此,就能夠為第三方軟件開發(fā)商省下大筆資金。</p><p>  對于設(shè)備制造商來說,Android是一個免費的平臺。當(dāng)設(shè)備制造商每制造一臺手機時,那些支付給手機系統(tǒng)制造商的費用也省去了,這樣也降低了每臺手機的生產(chǎn)費用,同時就降低了手機的價格,這樣在市場上也提高了競爭力。</p><p>  對硬體開發(fā)廠商來說,Android也是個開放的平臺。使用Andro

33、id平臺的廠商可以更具自己的需求以及能力為Android開發(fā)具有該廠商特色的功能,但是這樣的增加完全不用考慮版權(quán)的問題。</p><p>  同時Android平臺支持各種先進的網(wǎng)絡(luò)、繪圖、3D 處理能力,可以用來提供更好的使用者體驗。</p><p>  Google Android 系統(tǒng)作為一個完全開源的操作系統(tǒng),是由操作系統(tǒng)(Linux)、中間件以及核心應(yīng)用程序組成的軟件棧(soft

34、ware stack)。通過 Android SDK 提供的 API 以及相應(yīng)的開發(fā)工具, 程序員可以很方便的開發(fā)Android平臺上的應(yīng)用程序。其整個系統(tǒng)由應(yīng)用程序(Application),應(yīng)用程序框架(Application Framework),應(yīng)用程序庫(Libraries),Android運行庫(Android Runtime),Linux內(nèi)核(Linux Kernel)五個部分組成。Android操作系統(tǒng)內(nèi)置了一部分應(yīng)用程

35、序, 包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用Java編寫的[2]。</p><p>  因為應(yīng)用程序框架使得組件更易于重用,所以開發(fā)者的應(yīng)用程序可以很容易的調(diào)用API函數(shù)實現(xiàn)我們想要的功能。在遵守應(yīng)用程序框架的安全機制約束的前提下,開發(fā)者開發(fā)的一個應(yīng)用程序可以使用其他程序所開發(fā)的功能。雖然Android的應(yīng)用程序是用Java語言開發(fā)的,但是And

36、roid給應(yīng)用程序開發(fā)者提供了一系列的 C/C++ 程序庫,通過Android的一些特殊的設(shè)計,我們開發(fā)者可以使用這些庫[3]。</p><p>  現(xiàn)今,Android操作系統(tǒng)已成為許多手機制造商的寵兒,其中包括HTC、索尼愛立信、Samsung、摩托羅拉以及國內(nèi)的聯(lián)想、華為、海爾等。</p><p>  2.1.2 Android平臺優(yōu)勢</p><p><

37、;b> ?。?)開放性</b></p><p>  在優(yōu)勢方面,Android平臺首先就是其開發(fā)性,開發(fā)的平臺允許任何移動終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個嶄新的平臺也將很快走向成熟。</p><p>  開發(fā)性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講

38、,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。</p><p><b> ?。?)不受束縛</b></p><p>  在過去很長的一段時間,特別是在歐美地區(qū),手機應(yīng)用往往受到運營商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運營商的控制。自從2007年iPhone上市后,用戶可以更加方便地連接網(wǎng)絡(luò),運營商

39、的制約減少。隨著EDGE、HSDPA這些2G至3G移動網(wǎng)絡(luò)的逐步過渡和提升,手機隨意接入網(wǎng)絡(luò)已不是運營商口中的笑談。</p><p><b>  (3)豐富的硬件</b></p><p>  這一點還是與Android平臺的開放性相關(guān),由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容

40、,如同從諾基亞Symbian風(fēng)格手機一下改用蘋果iPhone,同時還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人更是可以方便地轉(zhuǎn)移[4]。</p><p><b> ?。?)方便開發(fā)</b></p><p>  Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面

41、性,血腥、暴力方面的程序和游戲如何控制正是留給Android難題之一。</p><p> ?。?)Google應(yīng)用</p><p>  在互聯(lián)網(wǎng)的Google已經(jīng)走過10年度歷史,從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺手機將無縫結(jié)合這些優(yōu)秀的Google服務(wù)。</p><p><

42、;b>  2.2 開發(fā)環(huán)境</b></p><p>  Android的上層應(yīng)用程序是用Java語言開發(fā),同時還需要基于Dalvik虛擬機,所以,Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因為是使用Java語言進行開發(fā),還應(yīng)該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Andro

43、id的應(yīng)用程序開發(fā)和Java開發(fā)是有較大區(qū)別的,所以還需要有Google提供的Android SDK。同時,還需要在Eclipse安裝ADT(Android Development Tool),它是Eclipse下開發(fā)工具的升級下載工具,為Android開發(fā)提供開發(fā)工具的升級或者變更。簡言之,需要Java SDK、Eclipse、 Android SDK以及ADT才能搭建Android開發(fā)環(huán)境,從而進行Android應(yīng)用程序的開發(fā)[5]

44、。</p><p><b>  (1) Java </b></p><p>  Java是Sun公司在1995年推出的新的編程語言,它是一種簡單的、面向?qū)ο蟮?、分布式的、解釋的、安全的、可移植的、性能?yōu)異的多線程語言。它以其較強的安全性、平臺無關(guān)性、硬件結(jié)構(gòu)無關(guān)性、語言簡潔性以及面向?qū)ο蟮奶攸c,在網(wǎng)絡(luò)編程語言中占據(jù)了無可比擬的優(yōu)勢[6]。</p><

45、;p>  (2) Java SDK、Android SDK</p><p>  SDK(software development kit):軟件開發(fā)工具包。被軟件開發(fā)工程師用于特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Java SDK 既Java的軟件開發(fā)工具包,而Android SDK 指的既是Android專屬的軟件開發(fā)工具包[7]。</p><

46、p>  (3) Eclipse及其插件(ADT)</p><p>  Eclipse 是替代IBM Visual Age for Java的下一代IDE開發(fā)環(huán)境,但它未來的目標不僅僅是成為專門開發(fā)Java程序的IDE環(huán)境,根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。Eclipse是一個開放源代碼的項目,任何人都可以下載Eclipse的源代碼,并且在此基礎(chǔ)上

47、開發(fā)自己的功能插件。也就是說未來只要有人需要,就會有建立在Eclipse之上的COBOL,Perl,Python等語言的開發(fā)插件出現(xiàn)。同時可以通過開發(fā)新的插件擴展現(xiàn)有插件的功能,比如在現(xiàn)有的 Java開發(fā)環(huán)境中加入Tomcat服務(wù)器插件。因而其可以無限擴展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是Eclipse的潛力所在[8]。</p><p>  在Eclipse編譯IDE環(huán)境中,需安裝ADT(Andr

48、oid Development Tools)Plug-in,這是Android在Eclipse上的開發(fā)工具。為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。</p><p><b>  (4) XML</b></p><p>  可擴展標記語言 (Extensible Markup Language, XML) ,用

49、于標記電子文件使其具有結(jié)構(gòu)性的標記語言,可以用來標記數(shù)據(jù)和定義數(shù)據(jù)類型,是一種允許用戶對自己的標記語言進行定義的源語言。 XML是標準通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)[9]。 </p><p>  XML的簡單使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),這使XML很快成為數(shù)據(jù)交換的唯一公共語言,雖然不同的應(yīng)用軟件也支持其它的數(shù)據(jù)

50、交換格式,但不久之后他們都將支持XML,那就意味著程序可以更容易的與Windows,Mac OS,Linux以及其他平臺下產(chǎn)生的信息結(jié)合,然后可以很容易加載XML數(shù)據(jù)到程序中并進行分析,并以XML格式輸出結(jié)果[10]。</p><p>  2.3 Eclipse概述</p><p>  Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù)

51、,用于通過插件組件構(gòu)建開發(fā)環(huán)境。</p><p>  雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java 集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse 的目標卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Ec

52、lipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所[11]。</p><p>  這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用Java語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如C/C++、COBOL、PHP等編程語言的插件已經(jīng)可用,或預(yù)計將會推出。Eclipse 框

53、架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。</p><p>  基于 Eclipse 的應(yīng)用程序的一個突出例子是 IBM Rational Software Architect,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)[12]。</p><p><b>  第3章 系統(tǒng)需求</b></p><p>  3.1

54、 功能需求分析</p><p>  手機局域網(wǎng)通信控制軟件是為了方便人們對電腦的相關(guān)操作,使用戶可以遠程控制電腦以及當(dāng)前正在運行的程序所以該軟件要滿足用戶對電腦的一般控制。</p><p>  軟件的基本功能需求有以下幾點:</p><p>  聊天功能:與在線的其他用戶私聊或群聊。</p><p>  遙控功能:控制電腦關(guān)機及遙控PPT。&

55、lt;/p><p>  文件傳輸:用戶之間可以通過該軟件進行文件傳輸。</p><p>  無線鼠標:可以把手機當(dāng)做無線鼠標使用,使其對電腦的控制更便捷。</p><p>  系統(tǒng)總體結(jié)構(gòu)功能圖如圖3-1所示。</p><p><b> ?。?)在線聊天功能</b></p><p>  在線聊天又包括

56、注冊,登陸,私聊,群聊四個模塊。進入該界面需先進行注冊,然后用該賬號登陸,注冊時需要填寫賬號,密碼,年齡,愛好等信息注冊信息保存在SD卡根目錄下。下次登錄時系統(tǒng)會將登陸名密碼與SD卡中的信息進行比對,若符合則登陸成功,否則提示用戶名密碼錯誤。登陸后可以查看自己的相關(guān)信息,同時會顯示其他在線用戶,添加其他用戶為好友,查看好友的在線狀況還可以向他們發(fā)起對話,也可以同時向所有人發(fā)送消息,或者向單個好友發(fā)送文件。在線聊天功能的結(jié)構(gòu)圖如圖3-2所

57、示。</p><p><b> ?。?)遠程遙控功能</b></p><p>  該界面主要實現(xiàn)的功能有關(guān)機和遙控PPT,對關(guān)機設(shè)置的是60秒自動關(guān)機。關(guān)機的實現(xiàn)是調(diào)用cmd語句實現(xiàn)倒計時關(guān)機PPT控制有開始放映,上一頁,下一頁,結(jié)束放映幾個功能,按下這幾個按鍵就相當(dāng)于分別按下電腦鍵盤上的F5,P,N,Esc鍵。遠程遙控功能的結(jié)構(gòu)圖如圖3-3所示。</p>

58、<p><b> ?。?)文件傳輸功能</b></p><p>  該模塊可以實現(xiàn)用戶間的文件互傳,可將自己SD卡的文件傳送給其他在線好友。被傳送的文件可以是軟件安裝時在SD卡會創(chuàng)建file_server文件夾,收到的文件會被保存在以發(fā)送方用戶名命名的文件夾下。接收方在收到文件傳輸請求時會彈出一個是否同意接受的對話框,若同意則開始傳輸,否則取消這次傳輸。文件傳輸功能的結(jié)構(gòu)圖如圖

59、3-4所示。</p><p><b> ?。?)無線鼠標功能</b></p><p>  無線鼠標分為鼠標移動控制和鼠標點擊控制,進入該界面觸動屏幕即可實現(xiàn)對鼠標的控制。點擊事件并不是通過點擊屏幕實現(xiàn),而是在屏幕下方設(shè)置了分別代表鼠標左鍵和右鍵的按鈕,點擊他們即相當(dāng)于鼠標的點擊事件。無線鼠標功能的結(jié)構(gòu)圖如圖3-5所示。</p><p><

60、b>  3.2 系統(tǒng)流程</b></p><p>  當(dāng)程序啟動時,首先進入功能選擇界面,由于文件傳輸是建立在用戶間相互通信的基礎(chǔ)上,所以用戶進行功能選擇時可以選擇遠程遙控,無線鼠標,在線聊天中的任意一個。</p><p>  聊天模塊主要有用戶注冊界面,添加好友界面,聊天界面,其中選擇要發(fā)起會話的好友用spinner實現(xiàn),當(dāng)用戶選擇其中一個好友時即可與之對話,對話內(nèi)容顯

61、示在下方的空白處。注冊時要填寫自己的昵稱,姓名,年齡,愛好等。在添加好友界面,用戶選擇當(dāng)前在線的一個用戶,點擊其信息即可彈出添加好友對話框。點返回即可返回到功能選擇界面。</p><p>  遠程遙控模塊只有一個界面,顯示關(guān)機,放映等控制功能的按鈕,點擊即可實現(xiàn)相關(guān)操作,點返回同樣返回到功能選擇界面。</p><p>  文件傳輸模塊有兩個界面,發(fā)送界面和文件選擇界面,在發(fā)送界面點擊瀏覽即

62、可進入文件選擇界面瀏覽想要上傳的文件。在接收端會彈出是否同意接受的對話框,點擊是則自動接收并保存到相關(guān)目錄下,否則取消該次傳輸。</p><p>  無線鼠標模塊主體只有一個layout和兩個按鈕,分別用來控制鼠標的移動和鼠標的點擊。</p><p>  3.3 系統(tǒng)界面需求</p><p>  程序的界面很大程度上影響著用戶的操作體驗,為了不影響用戶體驗,除無線鼠

63、標界面外,其余界面均使用同一背景。因此,在各個界面間切換時顯得更自然銜接更流暢。</p><p><b>  3.4 可行性分析</b></p><p><b>  技術(shù)可行性</b></p><p>  軟件代碼用Eclipse編寫,語言是Java。Java語言優(yōu)點是可移植性比較高,最初設(shè)計時就是本著一次編寫到處執(zhí)行設(shè)計

64、的,可以開發(fā)各種應(yīng)用程序和游戲。Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。Java中的robot類可以實現(xiàn)對鼠標和鍵盤的相關(guān)控制。</p><p><b>  經(jīng)濟可行性</b></p><p>  眾所周知Android是開源的,而且Eclipse等開發(fā)工具也是免費的,所以,所需成本極低。</p><p><

65、b>  操作可行性</b></p><p>  基于Android平臺的應(yīng)用,大多都是界面友好,易于操作。并且軟件本身布局合理,各個模塊及其所實現(xiàn)的功能一目了然。</p><p>  3.5 開發(fā)及運行環(huán)境需求</p><p>  (1) 開發(fā)環(huán)境及語言</p><p>  操作系統(tǒng): Windows 7 ;</p&g

66、t;<p>  開發(fā)語言:Java。</p><p>  (2) 支持開發(fā)軟件</p><p>  Eclipse 及ADT JDK Android SDK。</p><p><b>  (3) 運行環(huán)境</b></p><p>  Android 2.2及以上。</p><p&g

67、t;  第4章 通信控制軟件詳細設(shè)計</p><p>  啟動程序后首先是功能選擇界面,分別是在線聊天,遠程遙控,無線鼠標功能,點擊相應(yīng)按鈕即可進入相關(guān)功能界面。登陸模塊也在該界面內(nèi),注冊以后,輸入用戶名密碼即可與同時在線的好友發(fā)起會話或者進行文件傳輸,也可以選擇其他功能,進入相關(guān)子界面。啟動后界面如圖4-1所示。</p><p>  4.1 用戶界面的設(shè)計</p><

68、p>  從之前的需求分析可知,軟件主要有四大界面這里需要進一步分析每個用戶界面中應(yīng)該包括哪些顯示內(nèi)容。這四個界面分別是聊天界面,文件選擇界面,遙控PPT界面和無線鼠標界面。聊天界面有spinner,button,textview等控件,文件選擇界面主要是一個listview,遙控界面是五個按鈕,無線鼠標是兩個button和一大片用于捕捉觸控操作的空白。除了無線鼠標界面外所有界面均用同一個背景。無線鼠標界面用的是一個灰色的背景。&l

69、t;/p><p>  每一個界面,都有唯一的布局文件與之對應(yīng),該文件里面有各種布局方式,和各種資源文件如圖像、文字、顏色的引用,程序在運行時,可以通過代碼對各配置文件進行讀取或修改。這樣就可以形成不同的可視化界面和炫麗的效果以及實現(xiàn)界面的動態(tài)改變。</p><p>  Android有五大布局,它們分別是FrameLayout(框架布局),LinearLayout (線性布局),Absolut

70、eLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局). 以上布局用到的控件主要有文本框(TextView)、編輯框(EditText)、按鈕(Button)、列表視圖(ListView)以及對話框(Dialog)等[13]。</p><p>  4.1.1 用戶界面的實現(xiàn)</p><p><b> ?。?)功能選擇界面</

71、b></p><p>  程序各個界面之間的跳轉(zhuǎn)用intent來實現(xiàn),在功能選擇界面添加功能選擇按鈕并為其添加監(jiān)聽器,當(dāng)發(fā)生點擊事件時跳轉(zhuǎn)到所需的界面,返回功能界面時使用同樣的方法。跳轉(zhuǎn)的主要代碼如下:</p><p>  btn_ppt=(Button)findViewById(R.id.btn_ppt);</p><p>  btn_ppt.setOnCl

72、ickListener(new OnClickListener() {//添加監(jiān)聽器</p><p>  public void onClick(View v) {</p><p>  Intentit=newIntent(Date.this,ppt.class);</p><p>  startActivity(it);//實現(xiàn)跳轉(zhuǎn) </p&g

73、t;<p>  Date.this.finish();//結(jié)束當(dāng)前界面</p><p> ?。?)文件瀏覽界面的實現(xiàn)</p><p>  該界面的主體是一個listview和兩個按鈕,listview用來接收adapter傳過來的數(shù)據(jù)并顯示,listview的實現(xiàn)如下:</p><p>  <ListView </p><p&

74、gt;  Android:id="@Android:id/list"//控件ID</p><p>  Android:layout_width="fill_parent"//控件寬度為填滿父控件</p><p>  Android:layout_height="330px"//控件高度為330px</p><p

75、><b>  ></b></p><p>  </ListView></p><p>  其余界面的實現(xiàn)與其相似,不再贅述。</p><p>  4.2 遠程遙控功能的實現(xiàn)</p><p>  當(dāng)程序切換到遠程遙控界面時,負責(zé)遙控電腦的activity啟動。根據(jù)用戶按鍵的不同向服務(wù)端發(fā)出不同的信息

76、,服務(wù)端根據(jù)收到的信息執(zhí)行相關(guān)操作。用戶只需點擊按鈕就能對電腦進行簡單控制。</p><p>  4.2.1 遠程遙控功能的設(shè)計原理</p><p>  當(dāng)手機與電腦處于同一局域網(wǎng)時,可以通過socket進行通信,傳遞信息??梢栽谑謾C端設(shè)置按不同的鍵發(fā)送不同的命令,通過socket傳到服務(wù)器端,服務(wù)器端執(zhí)行這些命令即可實現(xiàn)遠程遙控功能。</p><p>  4.2.

77、2 關(guān)機功能的實現(xiàn)</p><p>  Java可以調(diào)用cmd命令行程序,而cmd命令中有一個定時關(guān)機的命令:”shutdown -s -t”可以讓手機端發(fā)送某一個特殊的信息,當(dāng)服務(wù)器收到該信息時執(zhí)行該命令則可實現(xiàn)關(guān)機。具體實現(xiàn)如下:</p><p><b>  建立socket</b></p><p><b>  try{</

78、b></p><p>  Socket socket=null;</p><p>  socket=new Socket(ip,port);//建立socket需ip和端口</p><p><b>  手機端發(fā)送消息</b></p><p>  PrintWriter writer=new PrintWriter(

79、new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"GBK")),true); </p><p>  socket.getOutputStream().write(msg.getBytes("GBK"));</p><p>  服務(wù)器端調(diào)用cmd命令行執(zhí)行收到的請求

80、</p><p>  if(str.equals("2"))</p><p>  Runtime.getRuntime().exec("shutdown -s -t 3600");//如果收到2就執(zhí)行關(guān)機操作。</p><p>  4.2.3 PPT遙控功能的實現(xiàn)</p><p>  PPT遙控功能的實

81、現(xiàn)與關(guān)機功能原理上極其相似,所不同的是,PPT遙控并沒有使用cmd命令行。而是使用了Java中的一個robot類。Java.awt.Robot 類用于控制鼠標和鍵盤,一旦你得到這種控制,你能夠通過你的Java代碼做與鼠標和鍵盤任何類型的操作。這個類通常用于自動化測試,之后的無線鼠標模塊也會用到它。PPT遙控的實現(xiàn),可以讓手機端按四個鍵發(fā)送四個不同的特殊信息,這里可以用case語句實現(xiàn),給每個按鈕添加監(jiān)聽器按不同按鈕發(fā)送不同信息:<

82、/p><p>  case R.id.btnnextpage:{</p><p>  String msg="3";</p><p>  SendMsg1(ip,port,msg);</p><p><b>  break;}</b></p><p>  case R.id.btn

83、lastpage:{</p><p>  String msg="4";</p><p>  SendMsg1(ip,port,msg);} </p><p><b>  break;}</b></p><p>  case R.id.btnstart:{……</p><p>

84、  服務(wù)器端收到消息時先用if語句判斷收到的是什么命令然后調(diào)用robot類,執(zhí)行相關(guān)操作。例如,當(dāng)收到信息“3”時,執(zhí)行的是按下鍵盤上的N鍵的操作,其代碼如下:</p><p>  else if(str.equals("3"))</p><p>  Robot robot = new Robot();

85、 robot.keyPress(KeyEvent.VK_N);//按下N鍵</p><p>  robot.keyRelease(KeyEvent.VK_N);}//松開N鍵</p><p>  finally {}……</p><p>  其他操作與其類似,放映,上一頁,下一頁,結(jié)束放映分別對應(yīng)于鍵盤上的F5,P,N,Esc.這一界面的顯示結(jié)果如圖4-2所示

86、。</p><p>  若點下關(guān)機則電腦將在60秒內(nèi)關(guān)閉,如圖4-3所示。</p><p>  4.3 無線鼠標功能的實現(xiàn)</p><p>  無線鼠標要求在手機端觸摸屏幕時電腦端的光標按相同的軌跡移動,并實現(xiàn)鼠標點擊事件,點擊事件并不是直接在屏幕上點擊,而是在界面下方設(shè)置了兩個按鈕來發(fā)送點擊事件的命令。</p><p>  4.3.1 無線

87、鼠標功能的設(shè)計原理</p><p>  Java中的robot類可以用于控制鼠標,Java程序?qū)崿F(xiàn)自動測試,自動演示功能,或者是其它的一些鼠標和鍵盤控制的應(yīng)用。出于這樣的目的,自從JDK1.3開始,它就為我們提供了一個用來產(chǎn)生本機輸入事件的機器人類Java.awt.Robot. </p><p>  Robot為我們提供了以下這些功能:</p><p>  Buff

88、eredImage createScreenCapture(Rectangle screenRect)createScreenCapture方法提供類似于鍵盤上的PrintScreen鍵的功能,將指定矩形區(qū)域內(nèi)的屏幕像素copy下來產(chǎn)生一個BufferedImage。我們可以將這個方法用在圖形程序中,或是用它來實現(xiàn)遠端屏幕傳輸,可做成遠端電腦監(jiān)控程序等。void delay(int ms)用來將當(dāng)前的程序(thread)休眠(sl

89、eep)若干毫秒(ms)??捎脕砜刂瞥绦虻难訒r。Color getPixelColor(int x, int y)取得給定屏幕坐標像素位置的顏色值。void keyPress(int keycode)void keyRelease(int keycode)這兩個方法的作用一看就知道是用來產(chǎn)生指定鍵的按鍵按下與抬起動作,相當(dāng)于Win32 API的keyb_event函數(shù)??捎糜诔绦虻淖詣友菔?、測試等,PPT遙控功能就是通過該方法

90、實現(xiàn)void mouseMove(int x, int y)將鼠標光標移動到指定的屏幕坐標.可用于程序的自動</p><p>  以上就是Robot提供的實用的鍵盤鼠標控制功能。</p><p>  4.3.2 鼠標移動功能的設(shè)計原理</p><p>  Robot類提供了一個有關(guān)鼠標移動控制的方法void mouseMove(int x, int y),可以將

91、鼠標光標移動到指定的區(qū)域。其基本原理是手機端捕獲位移方向和距離,將其傳到服務(wù)器端,服務(wù)器端根據(jù)該位移移動相同的距離。</p><p>  手機端的mouseview是指針移動區(qū)域</p><p>  public MouseView(Context context, AttributeSet attrs) {</p><p>  super(context,attr

92、s);</p><p>  msg = new MsgInfo();</p><p>  msg.setX(0);</p><p>  msg.setY(0);}</p><p>  手機端對觸摸事件的捕獲:</p><p>  case MotionEvent.ACTION_MOVE:</p><

93、p>  x = (int) event.getX();//獲取當(dāng)前位置橫坐標</p><p>  y = (int) event.getY();//獲取當(dāng)前位置縱坐標</p><p>  mouseView.getMsg().setX(x);//移動后的橫坐標</p><p>  mouseView.getMsg().setY(y);//移動后的縱坐標<

94、/p><p>  distanceX = x - oldX;//移動距離</p><p>  distanceY = y-oldY;//移動距離</p><p>  oldX = x;//把當(dāng)前位置當(dāng)做初始位置</p><p><b>  oldY = y;</b></p><p>  Datagra

95、mPacket(msgString.getBytes(),msgString.length(),addr,2011 ;</p><p><b>  try {</b></p><p>  client.send(outPacket);//將位移事件的坐標變化發(fā)到服務(wù)器端</p><p>  服務(wù)器端收到信息后 ,根據(jù)收到位移量的大小移動相同的距

96、離:</p><p>  Point mousePoint = MouseInfo.getPointerInfo().getLocation(); </p><p>  System.out.println("x:"+x+"y:"+y);</p><p>  robot.mouseMove(mousePoint.x+x, mo

97、usePoint.y+y);} //鼠標指針移動。</p><p>  4.3.3 鼠標點擊功能的設(shè)計原理</p><p>  在無線鼠標界面下方有兩個設(shè)置了監(jiān)聽器的按鈕,分別對應(yīng)鼠標左鍵和右鍵的點擊事件。當(dāng)點擊按鈕時,服務(wù)端執(zhí)行鼠標單擊操作。當(dāng)鼠標鍵按下時發(fā)送一條信息到服務(wù)端,服務(wù)端執(zhí)行左鍵按下操作,當(dāng)鼠標鍵松開時,服務(wù)器執(zhí)行鼠標左鍵松開操作。</p><p> 

98、 rightBtn = (Button) findViewById(R.id.rightButton);//得到兩個按鈕</p><p>  leftBtn.setOnTouchListener(new OnTouchListener() {</p><p>  //為左鍵設(shè)置監(jiān)聽器</p><p>  public boolean onTouch(View v,

99、MotionEvent event) {//鼠標點擊事件</p><p>  case MotionEvent.ACTION_DOWN://鼠標按下操作</p><p>  clientSocket.sendMsg(addr, port, msg);//發(fā)往服務(wù)端的信息</p><p>  case MotionEvent.ACTION_UP://鼠標松開操作<

100、;/p><p>  clientSocket.sendMsg(addr, port, msg);//發(fā)往服務(wù)端的信息</p><p>  右鍵點擊事件的設(shè)置與左鍵一樣,即添加監(jiān)聽器,在按下按鍵和松開按鍵的時候分別發(fā)送不同的信息到服務(wù)端,服務(wù)端根據(jù)收到的信息進行右鍵點擊和松開操作。無線鼠標的用戶界面如圖4-4所示。</p><p>  4.4 在線聊天功能的實現(xiàn)</

101、p><p>  在線聊天模塊主要是實現(xiàn)的功能是單個用戶之間的對話,多個用戶同時對話,以及文件傳輸功能。其主要原理還是先建立socket連接,然后在此基礎(chǔ)上進行的一系列操作。</p><p>  4.4.1 用戶注冊功能的實現(xiàn)</p><p>  用戶注冊時需要填寫帳號、密碼、昵稱、性別、地址、愛好和選擇頭像。若信息填寫不夠完善,系統(tǒng)會提示補全遺漏的信息。注冊界面的實現(xiàn)主

102、要是幾個EditText和兩個按鈕,還有信息不完善時彈出的Toast控件,為什么叫它Toast呢?因為Toast在英文里的意思是烤面包機,當(dāng)面包烤熟后面包會從機器里彈出來,這個和Toast控件在屏幕上突然彈出來很類似,因此就把這個控件叫做Toast。</p><p>  public void Init(){</p><p>  name_edittext=(EditText)findVi

103、ewById(R.id.editText1);//添加控件</p><p>  repwd_edittext.addTextChangedListener(new repwdTextChangedListener());//設(shè)置監(jiān)聽器</p><p>  repwd_edittext.setOnFocusChangeListener(new repwdOnFocusChangeListen

104、er());</p><p>  user.setId(id_edittext.getText().toString());</p><p>  user.setName(name_edittext.getText().toString());</p><p>  //得到用戶所填信息,轉(zhuǎn)換成string類型然后傳到服務(wù)端</p><p> 

105、 Intent it=new Intent(regited.this,Date.class);</p><p>  startActivity(it);//啟動activity</p><p>  regited.this.finish();</p><p>  這里特別要強調(diào)的是Intent的使用,Intent主要作用是實現(xiàn)各個activity之間的跳轉(zhuǎn)并傳參。&

106、lt;/p><p>  Intent負責(zé)對應(yīng)用中一次操作的動作、動作涉及數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此Intent的描述,負責(zé)找到對應(yīng)的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦[14]。例如,Intent it=new Intent(regited.this,Date.cla

107、ss)括號中第一個參數(shù)表示本身所在的activity,第二個參數(shù)表示要跳轉(zhuǎn)到的activity,當(dāng)要跳轉(zhuǎn)到的activity與本身所在的activity不在一個包時,被跳轉(zhuǎn)到的activity在manifest文件中進行注冊時要寫明它的絕對路徑,加入需要跳轉(zhuǎn)到的activity所在包的路徑。否則系統(tǒng)會因為找不到要跳轉(zhuǎn)的activity而出錯奔潰。注冊界面如圖4-5所示。</p><p>  4.4.2 聊天功能實

108、現(xiàn)</p><p>  聊天模塊的亮點在于spinner的使用,使用spinner可輕松區(qū)分單個會話與所有人會話,點擊spinner的下拉菜單即可顯示所有在線好友并可選擇其中一個發(fā)起單個會話或者選擇發(fā)給所有人進行群聊。點擊所有人時,系統(tǒng)會將用戶發(fā)的消息廣播給所有其他在線用戶。Spinner的使用如下:</p><p><b>  <Spinner</b><

109、/p><p>  Android:id="@+id/spinner1"</p><p>  Android:layout_width="wrap_content"</p><p>  Android:layout_height="wrap_content"</p><p>  Andro

110、id:layout_weight="0.98" />//在.xml文件中對spinner進行注冊</p><p>  public void sp_handle(String names[]){</p><p>  sp1=(Spinner)findViewById(R.id.spinner1);//得到spinner控件</p><p>

111、  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, </p><p>  Android.R.layout.simple_spinner_item, names);//使用adapter傳參</p><p>  adapter.setDropDownViewResource(Android.

112、R.layout.simple_spinner_dropdown_item); //設(shè)置按下spinner之后的操作</p><p>  sp1.setAdapter(adapter); </p><p>  sp1.setOnItemSelectedListener( new OnItemSelectedListener(){</p><p>  除spinner

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論