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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p>  基于JavaMe的短信智能分類</p><p><b>  管理器的設(shè)計(jì)與實(shí)現(xiàn)</b></p><p>  論文題目 基于JavaMe的短信智能分類管理器的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  系 部 機(jī)電與信息工程學(xué)部 </p&g

2、t;<p>  專 業(yè) 網(wǎng)絡(luò)工程 </p><p>  年級(jí)班別 </p><p>  學(xué) 號(hào) </p><p>  學(xué)生姓名

3、</p><p>  指導(dǎo)教師 </p><p>  2013 年 3 月</p><p><b>  摘 要</b></p><p>  移動(dòng)通信業(yè)不斷壯大,隨著科技的不斷發(fā)展,Android手機(jī)的不斷普及,時(shí)尚的智能手機(jī)已逐漸成為服務(wù)的主要對(duì)象之一。同時(shí)

4、,手機(jī)短信服務(wù)的即時(shí)性和多樣性,為我們的智能手機(jī)短信服務(wù)提供了可靠的保證。</p><p>  作為智能手機(jī)中移動(dòng)通信的短信業(yè)務(wù)的管理與日俱增,個(gè)性化和高效率的短信服務(wù)管理日益成為一個(gè)需要重視的問題。本次論文設(shè)計(jì)的短信智能分類管理器包括六個(gè)功能,即會(huì)話列表、文件夾視圖、群組、新建信息、提供了短息搜索機(jī)制、創(chuàng)建應(yīng)用程序的快捷圖標(biāo)。結(jié)合如今科技時(shí)代信息化智能化的實(shí)際需求,通過對(duì)手機(jī)短信智能分類管理的設(shè)計(jì)、基于方便、快

5、捷、高效的設(shè)計(jì)等方面的仿真研究,詳細(xì)探討了一個(gè)通過JavaM開發(fā)的手機(jī)應(yīng)用軟件的關(guān)鍵性問題。用戶通過設(shè)置能夠智能分類手機(jī)短信的信息,服務(wù)器通過分析得出關(guān)鍵字并在數(shù)據(jù)庫中查詢出短信、電話號(hào)碼等內(nèi)容,把搜索結(jié)果通過即時(shí)反饋給用戶。本系統(tǒng)利用Eclipse平臺(tái)和Android模擬器設(shè)計(jì)編碼,為手機(jī)用戶的科技智能服務(wù)提供了一種方便快捷的設(shè)計(jì)方式,給出了服務(wù)于短信分類管理器的設(shè)計(jì)解決方案。</p><p>  關(guān)鍵詞: A

6、ndroid,JavaMe,Eclipse,智能分類技術(shù)</p><p><b>  Abstract</b></p><p>  Nowadays, Mobile telecommunication industry is going from strength to strength. The Android phone is growing so popular

7、ity that stylish Smartphone has gradually become one of the main objects of service, which thanks to the continuous development of science and technology. In the meanwhile, the real-time and diversity of mobile phone sho

8、rt message service provide a reliable guarantee for Smartphone messaging services.</p><p>  As short message service in the mobile communications management o-f Smartphone mobile increasing, personalized and

9、 efficient service management has been taken seriously. Short message intelligent classification management of this paper includes six functions, the session list, the folder view, groups, new information, to provide a t

10、ext search mechanism and to create the application shortcut icon.Combined with the actual demand of intelligentialize and information in technology era, and through </p><p>  Key words: Android, JavaMe, Ecli

11、pse, Intelligent Classification Technology</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  目 錄III</b>

12、</p><p><b>  1 緒 論1</b></p><p><b>  1.1概述1</b></p><p>  1.1.1手機(jī)功能智能化概述1</p><p>  1.1.2 Android操作系統(tǒng)概述1</p><p>  1.1.3 Android系統(tǒng)

13、與其他系統(tǒng)比較2</p><p>  1.2本課題研究的目的和意義3</p><p>  2 Android功能架構(gòu)與機(jī)制4</p><p>  2.1 Android系統(tǒng)架構(gòu)4</p><p>  2.2 Android架構(gòu)功能介紹4</p><p>  2.2.1 Linux內(nèi)核層4</p>

14、<p>  2.2.2 中間層4</p><p>  2.2.3 應(yīng)用程序框架層5</p><p>  2.2.4 應(yīng)用程序?qū)?</p><p>  2.3 Android應(yīng)用構(gòu)成和工作機(jī)制5</p><p>  3 短信管理器開發(fā)環(huán)境和總設(shè)計(jì)7</p><p>  3.1管理器總體設(shè)計(jì)說明7

15、</p><p>  3.1.1總體結(jié)構(gòu)圖7</p><p>  3.1.2短信管理器作用說明8</p><p>  3.1.3管理器運(yùn)行8</p><p>  3.2短信管理器開發(fā)環(huán)境9</p><p>  3.3開發(fā)軟件環(huán)境準(zhǔn)備10</p><p>  3.3.1設(shè)計(jì)需要準(zhǔn)備10

16、</p><p>  3.3.2使用Ec1ipse開發(fā)Android應(yīng)用10</p><p>  4 短信管理器詳細(xì)設(shè)計(jì)11</p><p>  4.1布局main.xml設(shè)計(jì)實(shí)現(xiàn)12</p><p>  4.2主界面設(shè)計(jì)實(shí)現(xiàn)14</p><p>  4.3會(huì)話列表模塊設(shè)計(jì)實(shí)現(xiàn)16</p>&l

17、t;p>  4.4文件夾視圖模塊設(shè)計(jì)實(shí)現(xiàn)18</p><p>  4.5組群模塊設(shè)計(jì)實(shí)現(xiàn)21</p><p>  4.6新建模塊設(shè)計(jì)實(shí)現(xiàn)22</p><p>  4.7短信搜索模塊設(shè)計(jì)實(shí)現(xiàn)24</p><p>  4.8創(chuàng)建快捷圖標(biāo)模塊設(shè)計(jì)實(shí)現(xiàn)25</p><p>  5 短信管理器測(cè)試27</

18、p><p>  5.1 Package Explorer組件27</p><p>  5.2 eclipse連接測(cè)試方法27</p><p>  5.2.1 Eclipse調(diào)試器28</p><p>  5.2.2 Android特有工具28</p><p>  5.2.3連接真機(jī)調(diào)試29</p>

19、<p>  5.3短信管理界面使用模擬29</p><p><b>  總 結(jié)36</b></p><p>  參 考 文 獻(xiàn)37</p><p><b>  附錄A38</b></p><p><b>  1 緒 論</b></p>

20、<p><b>  1.1概述</b></p><p>  1.1.1手機(jī)功能智能化概述</p><p>  智能中心是目前手機(jī)移動(dòng)設(shè)備最有趣的部分,在當(dāng)今競(jìng)爭(zhēng)激烈的移動(dòng)市場(chǎng),智能化也是創(chuàng)新發(fā)生幾率最高的地方。智能化技術(shù)市場(chǎng)的發(fā)展日新月異,應(yīng)用于多種方面,其中手機(jī)功能智能尤為突出。智能手機(jī)(Smartphone)像個(gè)人電腦一樣,具有獨(dú)立的操作系統(tǒng),可以由用戶

21、自行安裝軟件、游戲等第三方服務(wù)商提供的程序,通過此類程序來不斷對(duì)手機(jī)的功能進(jìn)行擴(kuò)充,并可以通過移動(dòng)通訊網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入。</p><p>  移動(dòng)設(shè)備的普及化促使了當(dāng)今移動(dòng)應(yīng)用營(yíng)銷模式的推廣。目前中國(guó)智能手機(jī)發(fā)展態(tài)勢(shì)良好,但增長(zhǎng)速度較為緩慢。各大操作系統(tǒng)之間的爭(zhēng)奪將更加突出,并逐漸以聯(lián)盟陣營(yíng)的方式來推動(dòng)智能手機(jī)的普及。它已經(jīng)逐漸深入到人們的生活并廣泛應(yīng)用于生活中,同時(shí)人們對(duì)智能手機(jī)的要求越來越高。智能化軟件

22、的廣泛使用,使得智能手機(jī)的精度越來越高,智能手機(jī)給用戶帶來了很多的方便,充足了用戶的生活,相信在不久的將來,因?yàn)橹悄茉O(shè)計(jì)技術(shù)的提高,智能手機(jī)的功能也會(huì)越來越高,用戶的滿意程度也會(huì)逐漸增加。</p><p>  國(guó)內(nèi)外智能手機(jī)信息目前功能還包括:短信分類管理,通常是為商務(wù)人士而設(shè)計(jì),而全球商務(wù)最主要的聯(lián)絡(luò)方式不是電話而是短信消息,尤其是在貿(mào)易公司或全球性公司中信息消息是一個(gè)商務(wù)人士一天主要處理的工作內(nèi)容,而智能手機(jī)

23、第一需要支持的就是智能管理。</p><p>  1.1.2 Android操作系統(tǒng)概述</p><p>  安卓手機(jī)指的是有Android這個(gè)操作系統(tǒng)的手機(jī),安卓一詞的本來是指“機(jī)器人”,同時(shí)也是Google安卓手機(jī)宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。安卓是一個(gè)基于Linux內(nèi)

24、核的操作系統(tǒng),它是一款手機(jī)系統(tǒng),現(xiàn)在流行的主流的手機(jī)系統(tǒng)之一。 </p><p>  Android以Java為編程語言,使接口到功能,都有層出不窮的變化,其安卓手機(jī)中Activity等同于J2ME的MIDlet,一個(gè) Activity 類(class)負(fù)責(zé)創(chuàng)建視窗(window),一個(gè)活動(dòng)中的Activity就是在前景模式,背景運(yùn)行的程序叫做Service。兩者之間通過由ServiceConnection和AI

25、DL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行的效果。如果運(yùn)行中的Activity全部畫面被其他Activity取代時(shí),該Activity便被停止,甚至被系統(tǒng)清除。</p><p>  安卓手機(jī)平臺(tái)特色具有:開放性,掙脫運(yùn)營(yíng)商的束縛,豐富的硬件選擇,不受任何限制的開發(fā)商等特點(diǎn)。并且最大特點(diǎn)在于它是一個(gè)開放的體系架構(gòu),具有非常好的開發(fā)和調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn), Android里面具有非常豐富的圖形系統(tǒng), 對(duì)多媒體

26、的支持功能和非常強(qiáng)大的瀏覽器。</p><p>  1.1.3 Android系統(tǒng)與其他系統(tǒng)比較</p><p>  作為手機(jī)上面用的智能系統(tǒng),安卓的系統(tǒng)是新生系統(tǒng),界面比塞班更為華麗,比塞班的開源性更強(qiáng),而相較于WM和黑莓系統(tǒng),則在第三方軟件方面更加豐富。目前安卓已經(jīng)成為唯一能和蘋果iOS系統(tǒng)分庭抗禮的系統(tǒng)了,憑借其流暢華麗的操作體驗(yàn)和海量的應(yīng)用程序,成為成長(zhǎng)最快的智能手機(jī)操作系統(tǒng)。&l

27、t;/p><p>  對(duì)比iPhone。運(yùn)用iOS操作系統(tǒng),主要是給iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系統(tǒng)一樣,它也是以Darwin為基礎(chǔ)的。原本這個(gè)系統(tǒng)名為iPhoneOS,iOS的系統(tǒng)架構(gòu)分為四個(gè)層次:核心操作系統(tǒng)層,核心服務(wù)層,媒體層,可輕觸層。但它是蘋果的封閉平臺(tái),用戶無法在iPhone中自行安裝應(yīng)用并且所有的東西都應(yīng)該由其設(shè)計(jì)人員設(shè)計(jì)而成,從而確保權(quán)益和技術(shù)

28、核心不外流。蘋果自己為iPhone開發(fā)了嵌入系統(tǒng)以及完整的應(yīng)用,但它不宣揚(yáng)iPhone的軟件設(shè)計(jì),而將iPhone作為包含軟硬件賣點(diǎn)的手機(jī)產(chǎn)品而銷售。與iPhone相反,Android則是走完全開放的道路,這種模式的巨大優(yōu)點(diǎn)在PC軟件領(lǐng)域已為業(yè)界所公認(rèn):自由軟件高度活躍,錯(cuò)誤可以被快速修正,新的應(yīng)用、新的創(chuàng)意可以不斷出現(xiàn)。Android平臺(tái)的另外一個(gè)優(yōu)勢(shì)是標(biāo)準(zhǔn)化和跨平臺(tái)。</p><p>  對(duì)比Symbian。

29、它存在著以下的致命不足:Symbian的主導(dǎo)者為Nokia、Sony Ericsson等傳統(tǒng)的手機(jī)廠商,因此雖然Symbian非常成熟,多年來 Symbian 系統(tǒng)一直占據(jù)智能系統(tǒng)的市場(chǎng)霸主地位,系統(tǒng)能力和易用性等各方面很強(qiáng)。但它基本上固步自封依舊保守,應(yīng)用軟件與日常的PC應(yīng)用有較大的理念差異。另外Symbian與互聯(lián)網(wǎng)的結(jié)合給人感覺仍不夠緊密,互聯(lián)網(wǎng)應(yīng)用更多只是作為陪襯存在。Android平臺(tái)相反,移動(dòng)互聯(lián)網(wǎng)是它最重要的應(yīng)用,無論系統(tǒng)

30、內(nèi)核、應(yīng)用軟件還是硬件設(shè)計(jì),幾乎都是圍繞著快捷的移動(dòng)互聯(lián)網(wǎng)應(yīng)用所展開,同時(shí)Android與PC平臺(tái)存在先天的基因聯(lián)系,可以很好的實(shí)現(xiàn)與PC設(shè)備的信息互享,更容易獲得用戶的廣泛認(rèn)可。與Android擁有相同屬性的還有微軟的Windows mobile。</p><p>  安卓和操作系統(tǒng)進(jìn)行了緊密的整合,平臺(tái)的開放性造就了其開發(fā)的無盡潛力,具備觸摸屏、高級(jí)圖形顯示和上網(wǎng)功能,應(yīng)用廣泛,界面強(qiáng)大,是一種融入全部Web

31、應(yīng)用的單一平臺(tái)??梢苑奖愕厥褂貌僮飨到y(tǒng)的功能,這與難于使用操作系統(tǒng)功能的J2ME相比,無疑對(duì)開發(fā)者有很大的吸引力。并且從圖形應(yīng)用界面的開發(fā)上面來看,Android可以使用配置文件來描述圖形控件的布局,用Java代碼編寫實(shí)際響應(yīng)代碼,這樣方便得多。當(dāng)然由于Android己經(jīng)提供了大量現(xiàn)成的應(yīng)用API和應(yīng)用工具,使得常規(guī)智能手機(jī)功能的開發(fā)變得非常容易和簡(jiǎn)單。</p><p>  所以,對(duì)于目前的智能手機(jī),最理智的選擇

32、應(yīng)該是安卓,最豪華的選擇應(yīng)該是蘋果,最滯后的選擇應(yīng)該是塞班。</p><p>  1.2本課題研究的目的和意義</p><p>  本課題的目的在于掌握J(rèn)ava手機(jī)應(yīng)用開發(fā)技術(shù)和移動(dòng)軟件平臺(tái)開發(fā)技術(shù)。在以Java語言為基礎(chǔ),結(jié)合eclipse模擬開發(fā)平臺(tái),采用Android模擬器平臺(tái),利用Android官網(wǎng)提供的SDK程序,完成在Android平臺(tái)上運(yùn)行的短信智能分類管理器,使其成為一款具

33、有一定實(shí)用性,多功能,易操作的手機(jī)應(yīng)用。Android是基于Linux+Java的手機(jī)操作系統(tǒng)平臺(tái),XMPP是基于XML的開源的即時(shí)通訊協(xié)議,課題從實(shí)際應(yīng)用為目的出發(fā),提出了開發(fā)基于Android系統(tǒng)平臺(tái)的手機(jī)智能短信分類管理軟件。</p><p>  本課題的意義在于通過開發(fā)短信智能分類管理的手機(jī)應(yīng)用,實(shí)現(xiàn)于Android平臺(tái)系統(tǒng)的使用軟件,可以熟練應(yīng)用Android平臺(tái)提供的應(yīng)用程序接口,可以開發(fā)和制作相應(yīng)功

34、能的編譯操作,熟悉Android平臺(tái)上的各種應(yīng)用。</p><p>  2 Android功能架構(gòu)與機(jī)制</p><p>  2.1 Android系統(tǒng)架構(gòu)</p><p>  看待操作系統(tǒng)時(shí)的劃分時(shí),可以先分為底層的LINUX KERNEL包含系統(tǒng)運(yùn)行庫和內(nèi)核層,而上層的Android包含應(yīng)用層和應(yīng)用框架層。圖2.1顯示的是Android架構(gòu)的四個(gè)主要層架構(gòu)。&l

35、t;/p><p>  圖2.1 Android架構(gòu)</p><p>  2.2 Android架構(gòu)功能介紹</p><p>  2.2.1 Linux內(nèi)核層</p><p>  Android運(yùn)行在linux kernel 2.6之上,但是把linux內(nèi)受GNU協(xié)議約束的部分做了取代,這樣在Android的程序可以用于商業(yè)目的。Linux 內(nèi)核是

36、硬件和軟件層之間的抽象層。 </p><p><b>  2.2.2 中間層</b></p><p>  中間件包括兩部分:核心庫和運(yùn)行時(shí)。</p><p>  Android runtime運(yùn)行環(huán)境下包含,Core Libraries 核心的開發(fā)源和Dalvik Virtual Machine虛擬機(jī)。核心庫包括,SurfaceManager顯

37、示系統(tǒng)管理庫,負(fù)責(zé)把2D或3D內(nèi)容顯示到屏幕;Media Framework媒體庫,負(fù)責(zé)支持圖像,支持多種視頻和音頻的錄制和回放;SQlite 數(shù)據(jù)庫,一個(gè)功能強(qiáng)大的輕量級(jí)嵌入式關(guān)系數(shù)據(jù)庫;WebKit瀏覽器引擎等。Dalvik虛擬機(jī):區(qū)別于Java虛擬機(jī)的是,每一個(gè)Android 應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都有一個(gè)屬于自己的Dalvik 虛擬機(jī),這一點(diǎn)可以讓系統(tǒng)在運(yùn)行時(shí)可以達(dá)到優(yōu)化,程序間的影響大大降低。Dalvik虛擬機(jī)并非運(yùn)

38、行Java字節(jié)碼,而是運(yùn)行自己的字節(jié)碼。</p><p>  2.2.3 應(yīng)用程序框架層</p><p>  豐富而又可擴(kuò)展性的視圖(Views),可以用來構(gòu)建應(yīng)用程序, 它包括列表(lists),網(wǎng)格(grids),文本框(text boxes),按鈕(buttons), 可嵌入的web 瀏覽器。</p><p>  內(nèi)容提供者(Content Providers

39、)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù)。資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(layoutfiles)。通知管理器(Notification Manager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。活動(dòng)管理器(Activity Manager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。</p>&l

40、t;p>  2.2.4 應(yīng)用程序?qū)?lt;/p><p>  Android 系統(tǒng)會(huì)內(nèi)置一些應(yīng)用程序包包括email 客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。</p><p>  2.3 Android應(yīng)用構(gòu)成和工作機(jī)制</p><p>  對(duì)于一個(gè)Android應(yīng)用程序來說,是由Activity、I

41、ntentReceiver、Service、Content Provider四部分組成,但并不是每一個(gè)Android應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時(shí),需要在配置文件AndroidManifest.xml中進(jìn)行配置。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。Android應(yīng)用的構(gòu)成和工作流程如圖2.2。</p><p>  圖2.2 Andr

42、oid的構(gòu)成和工作流程</p><p>  3 短信管理器開發(fā)環(huán)境和總設(shè)計(jì)</p><p>  3.1管理器總體設(shè)計(jì)說明</p><p>  3.1.1總體結(jié)構(gòu)圖</p><p>  Android的界面是有布局和組件協(xié)同完成的,布局好比是建筑里的框架,而組件則相當(dāng)于建筑里的磚瓦。組件按照布局的要求依次排列,就組成了用戶所看見的界面。Andr

43、oid的五大布局分別是LinearLayout(線性布局)、FrameLayout(單幀布局)、RelativeLayout(相對(duì)布局)、AbsoluteLayout(絕對(duì)布局)和TableLayout(表格布局)。</p><p>  在短信管理器界面中,對(duì)外顯示的TabHost(外圍布局)內(nèi)含兩個(gè)垂直的標(biāo)簽(Tabweight和FrameLayout),因此需要設(shè)置一個(gè)LinearLayout(線性布局)如圖

44、3.1布局結(jié)構(gòu)。</p><p><b>  圖3.1 布局結(jié)構(gòu)</b></p><p>  外圍布局(TabHost)主要用來確定短信智能分類管理器布局界面。使用TabHost 可以在一個(gè)屏幕間進(jìn)行不同版面的切換。</p><p>  構(gòu)建tab的實(shí)現(xiàn),繼承TabActivity 類,可以使用android內(nèi)部定義好的.xml資源文件作容器文

45、件。也就是在代碼中使用getTabHost(), 有了容器,然后就需要為每個(gè)tab分配內(nèi)容。</p><p>  首先構(gòu)建一.xml文件LinearLayout(線性布局)。LinearLayout按照垂直或者水平的順序依次排列子元素,每一個(gè)子元素都位于前一個(gè)元素之后。LinearLayout中的子元素屬性android:layout_weight生效,它用于描述該子元素在剩余空間中占有的大小比例。</p&

46、gt;<p>  設(shè)計(jì)一下標(biāo)簽頁對(duì)應(yīng)的布局,采用FrameLayout作為根布局,每個(gè)標(biāo)簽頁面對(duì)應(yīng)一個(gè)子節(jié)點(diǎn)。一個(gè)LinearLayout布局垂直的標(biāo)簽,里面可以包含Tabweight和FrameLayou。當(dāng)當(dāng)前的Intent的tab獲得焦點(diǎn)的時(shí)候,TabHost會(huì)調(diào)用IntentContentStrategy的getContentView()方法,將要顯示的activit轉(zhuǎn)化為view顯示在Tabweight的下面。F

47、rameLayout整個(gè)界面被當(dāng)成一塊空白備用區(qū)域,所有的子元素都不能被指定放置的位置,它們統(tǒng)統(tǒng)放于這塊區(qū)域的左上角,并且后面的子元素直接覆蓋在前面的子元素之上,將前面的子元素部分和全部遮擋。顯示效果如第一個(gè)TextView被第二個(gè)TextView完全遮擋,第三個(gè)TextView遮擋了第二個(gè)TextView的部分位置??梢栽贔rameLayout里面添加view來作為tab的內(nèi)容只需要在create tabspce時(shí)候添加就可以了。&l

48、t;/p><p>  另外設(shè)計(jì)中,短信管理器使用本地的數(shù)據(jù)庫,需要通過模擬兩臺(tái)或以上的Android手機(jī)進(jìn)行試驗(yàn)通信。</p><p>  3.1.2短信管理器作用說明</p><p>  短信智能分類管理器包括六個(gè)功能:</p><p>  1、會(huì)話列表模塊:通過異步查詢獲取會(huì)話數(shù)據(jù),不會(huì)導(dǎo)致anr異常,對(duì)于會(huì)話可以進(jìn)行單條和多條的刪除,查看會(huì)

49、話詳情。</p><p>  2、文件夾試圖模塊:對(duì)信息進(jìn)行了分類管理:收件箱 發(fā)件箱 已發(fā)送 草稿箱這四類,并且我們對(duì)信息進(jìn)行了日期分隔顯示。</p><p>  3、組群模塊:創(chuàng)建了群組數(shù)據(jù)庫,里面有兩張表:groups和thread_groups,groups是用來存放群組的。</p><p>  4、新建模塊:號(hào)碼輸入控件采用的是AutoCompelteTe

50、xtView透析filter的過濾機(jī)制。</p><p>  5、短信搜索模塊:應(yīng)用能在應(yīng)用的內(nèi)部任何一個(gè)activity進(jìn)行搜索,并且支持全局搜索。</p><p>  6、創(chuàng)建快捷圖標(biāo)模塊:創(chuàng)建圖標(biāo)的產(chǎn)生是采用了廣播機(jī)制,在launcher應(yīng)用里面存在創(chuàng)建快捷圖標(biāo)的廣播接受者,并且快捷圖標(biāo)的數(shù)據(jù)是以provider對(duì)外暴露的,該provider也是內(nèi)置在launcher應(yīng)用。</

51、p><p>  3.1.3 管理器運(yùn)行</p><p>  短信管理器開始執(zhí)行后,直接進(jìn)入了系統(tǒng)的主界面,為了系統(tǒng)以后能擴(kuò)展其他服務(wù),將主界面設(shè)置成一般界面,如圖3.2。</p><p>  圖3.2 管理器示意圖</p><p>  3.2短信管理器開發(fā)環(huán)境</p><p>  本次課題的短信管理軟件開發(fā)在Eclipse

52、上配置安卓應(yīng)用,Android系統(tǒng)是用Java語言來開發(fā)、撰寫應(yīng)用程序,但不使用Java運(yùn)行時(shí)組件來執(zhí)行Java程序,而使用由Google自行研發(fā)的Android運(yùn)行時(shí)組件來執(zhí)行程序。Android運(yùn)行時(shí)組件包括兩個(gè)重要的部分,一個(gè)是核心類庫,另一個(gè)是Dalvik虛擬機(jī)。因此,開發(fā) Android 應(yīng)用程序的前提準(zhǔn)備配置Android SDK和安裝使用Eclipse IDE。使用Eclipse IDE和用于Eclipse的Android

53、 Developer Tools插件。</p><p>  Android應(yīng)用程序在Dalvik VM(非 Java 虛擬機(jī))中編譯和執(zhí)行的。在Eclipse中用Java語言編程非常簡(jiǎn)單;Eclipse提供一個(gè)豐富的Java環(huán)境,包括上下文敏感幫助和代碼提示。Java代碼通過編譯后,Android Developer Tools 可確保適當(dāng)?shù)貙⑺虬?,包?AndroidManifest.xml文件。</p

54、><p>  Eclipse的設(shè)計(jì)思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本內(nèi)核包括:圖形API (SWT/Jface), Java開發(fā)環(huán)境插件(JDT ),插件開發(fā)環(huán)境(PDE)等。在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。</p><p>  3.3開發(fā)軟件環(huán)境準(zhǔn)備</p>

55、<p>  3.3.1設(shè)計(jì)需要準(zhǔn)備</p><p>  Eclipse平臺(tái):可以下載安裝 Eclipse Classic 的最新版本。</p><p>  Android Developer Tools:按照安裝說明安裝 Android Developer Tools(Eclipse 插件)。</p><p>  源代碼:本設(shè)計(jì)中的源代碼片段包括,Andr

56、oidManifest.xml(片段)。 這個(gè)文件是 Android 應(yīng)用程序的應(yīng)用程序部署描述符;IntentReceiver,演示IntentReceiver的實(shí)現(xiàn),這個(gè)類處理AndroidManifest.xml文件中IntentFilter標(biāo)記所公布的intent;Main.xml,這個(gè)文件包含Android活動(dòng)所用的視覺元素或資源;R.java,這個(gè)文件是由Android Developer Tools自動(dòng)生成的,它把視覺資源

57、 “連接” 到 Java 源代碼;AndroidManifest.xml(完整),這是完整的AndroidManifest.xml文件,包含每個(gè)重要元素的描述。</p><p>  3.3.2使用Ec1ipse開發(fā)Android應(yīng)用</p><p>  使用Eclipse IDE開發(fā)一個(gè)Android應(yīng)用。首先是創(chuàng)建一個(gè)Android工程,然后設(shè)置應(yīng)用啟動(dòng)配置。然后可以編輯代碼,啟動(dòng),調(diào)試

58、應(yīng)用。</p><p>  1、創(chuàng)建一個(gè)Android工程。ADT插件提供了一個(gè)新的工程向?qū)椭焖俚慕ndroid工程和編輯現(xiàn)存的Android項(xiàng)目的代碼。按照下面的步驟建立Android工程:</p><p> ?。?)選擇File>New>project。</p><p> ?。?)選擇Android>Android project,點(diǎn)擊

59、Next。</p><p>  (3)設(shè)置工程的用途:</p><p>  選擇create new project in workspace可以建立一個(gè)新的Android工程,輸入工程的名字,代碼的開發(fā)包的名字,應(yīng)用界面的類名字,應(yīng)用程序的標(biāo)題的名字。選擇create project from existing source可以根據(jù)現(xiàn)存的代碼建立一個(gè)工程.通過這個(gè)選項(xiàng)可以建立并運(yùn)行現(xiàn)存的

60、Google提供的Example Application(在AndroidSDK的目錄中可以找到)。</p><p>  (4)點(diǎn)擊Finish。</p><p>  ADT插件將會(huì)為工程建立src/代碼文件存放的目錄、res/資源文件目錄和AndroidManifest.xml應(yīng)用工程的主配置文件。</p><p>  2、創(chuàng)建Android虛擬機(jī)</p&g

61、t;<p>  點(diǎn)擊windows>android SDK and AVD Manager,選中Virtual Devices,選擇new按鈕,填寫需要?jiǎng)?chuàng)建的name,并且選擇Target,從Android1.5-2.2版本。填寫虛擬機(jī)的sd卡內(nèi)存(如設(shè)置size為256MB),然后點(diǎn)擊Create AVD。就完成對(duì)應(yīng)版本的android虛擬機(jī)創(chuàng)建,如圖3.3。</p><p>  圖3.3創(chuàng)

62、建android虛擬機(jī)</p><p><b>  3、調(diào)試應(yīng)用程序。</b></p><p>  一旦建立了工程啟動(dòng)配置就可以按照如下的步驟調(diào)試程序:從Eclipse的主菜單中選擇Run>Run或Run>Debug或者點(diǎn)擊工程文件右鍵選擇run as>Android Application。如果需要還可以重新配置啟動(dòng)參數(shù),比如選擇其他的程序界面作為

63、啟動(dòng)的主界面。</p><p>  4 短信管理器詳細(xì)設(shè)計(jì)</p><p>  短信管理器的軟件由多個(gè)功能部分組成,整體框架在總體結(jié)構(gòu)設(shè)計(jì)中說明,而在這章對(duì)該安卓應(yīng)用軟件對(duì)個(gè)別功能做細(xì)致的一些描述。各功能在總體框架中的TabHost(外圍布局)、垂直的標(biāo)簽(Tabweight和FrameLayout),線性布局LinearLayout部分體現(xiàn)和代碼體現(xiàn),但涉及到較多的重復(fù)使用,在編寫中對(duì)設(shè)

64、計(jì)要注意的代碼和數(shù)據(jù)傳輸機(jī)制,不進(jìn)行贅述。</p><p>  Android 中的資源放在項(xiàng)目的 res 子目錄中。資源分為三類:1、Drawables:這個(gè)文件夾包含圖形文件,比如圖標(biāo)和位圖。2、Layouts:這個(gè)文件夾包含表示應(yīng)用程序布局和視圖的 XML 文件。后面會(huì)詳細(xì)研究這些文件。3、Values:這個(gè)文件夾包含strings.xml 文件。這是為應(yīng)用程序?qū)崿F(xiàn)字符串本地化的主要方法。</p>

65、;<p>  4.1布局main.xml設(shè)計(jì)實(shí)現(xiàn)</p><p>  1、布局文件main.xml的詳細(xì)設(shè)計(jì)實(shí)現(xiàn):</p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <TabHost xmlns:android="ht

66、tp://schemas.android.com/apk/res/android"</p><p>  android:id="@android:id/tabhost"</p><p>  android:layout_width="fill_parent"</p><p>  android:layout_heig

67、ht="fill_parent"</p><p>  android:background="@android:color/white"></p><p>  <LinearLayout</p><p>  android:layout_width="fill_parent"</p>

68、<p>  android:layout_height="fill_parent"</p><p>  android:orientation="vertical"></p><p>  <TabWidget android:id="@android:id/tabs"</p><p&g

69、t;  android:layout_width="fill_parent"</p><p>  android:layout_height="wrap_content"/></p><p>  <FrameLayout android:id="@android:id/tabcontent"</p>&l

70、t;p>  android:layout_width="fill_parent"</p><p>  android:layout_height="0dip"</p><p>  android:layout_weight="1"/></p><p>  </LinearLayout>

71、;</p><p>  </TabHost></p><p>  2、AndroidManifest.xml部署描述的設(shè)計(jì)實(shí)現(xiàn):</p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <manifest xml

72、ns:android="http://schemas.android.com/apk/res/android"</p><p>  package="cn.itcast.smsmanager"</p><p>  android:versionCode="1"</p><p>  android:versi

73、onName="1.0" ></p><p>  <uses-sdk android:minSdkVersion="8" /></p><p>  <uses-permission android:name="android.permission.READ_SMS"/></p><

74、p>  <uses-permission android:name="android.permission.READ_CONTACTS"/></p><p>  <uses-permission android:name="android.permission.WRITE_SMS"/></p><p>  <use

75、s-permission android:name="android.permission.SEND_SMS"/></p><p>  <!-- 創(chuàng)建快捷圖標(biāo)的權(quán)限 --></p><p>  <uses-permission android:name="com.android.launcher.permission.INSTALL_S

76、HORTCUT"/></p><p>  <!-- 讀取快捷圖標(biāo)provider --></p><p>  <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/></p><p>  <appli

77、cation</p><p>  android:icon="@drawable/ic_launcher"</p><p>  android:label="@string/app_name" ></p><p>  <activity android:label="@string/app_name&qu

78、ot;</p><p>  android:name=".MainActivity" ></p><p>  <intent-filter ></p><p>  <action android:name="android.intent.action.MAIN" /></p><

79、;p>  <category android:name="android.intent.category.LAUNCHER" /></p><p>  </intent-filter></p><p>  </activity></p><p>  <activity android:name=&q

80、uot;.ConversationActivity"></activity></p><p>  <activity android:name=".FolderActivity"></activity></p><p>  <activity android:name=".GroupActivity&q

81、uot;></activity></p><p>  <activityandroid:name=".ConversastionListActivity" android:label="@string/conversation_detail"></activity><activity </p><p>

82、  android:name=".NewMessageActivity" android:label="@string/new_msg"></p><p>  </activity></p><p>  <activity android:name=".FolderListActivity"><

83、/activity></p><p>  <activity </p><p>  android:name=".SmsDetailActivity" android:label="@string/sms_detail"></activity></p><p>  <activity and

84、roid:name=".NewGroupActivity" </p><p>  android:label="@string/new_group" android:theme="@android:style/Theme.Dialog"></activity></p><p>  <activity an

85、droid:name=".SearchableActivity"><intent-filter></p><p>  <action android:name="android.intent.action.SEARCH" /></p><p>  </intent-filter></p><

86、;p>  <meta-data android:name="android.app.searchable"</p><p>  android:resource="@xml/searchable"/></activity></p><p>  <!-- 指定我們要激活的是哪個(gè)SearchableActivity -

87、-></p><p>  <meta-data android:name="android.app.default_searchable"</p><p>  android:value=".SearchableActivity" /></p><p>  <provider android:name=

88、".MySuggestionProvider" </p><p>  android:authorities="cn.itcast.smsmanager.MySuggestionProvider"></provider></p><p>  <provider android:name=".SmsManagerPro

89、vider" </p><p>  android:authorities="cn.itcast.smsmanager.SmsManagerProvider"></provider></p><p>  </application></p><p>  </manifest></p>

90、<p>  AndroidManifest.xml文件是 Android 應(yīng)用程序的部署描述符。這個(gè)文件列出應(yīng)用程序中包含的所有活動(dòng)、服務(wù)、內(nèi)容提供器和接收器,以及應(yīng)用程序支持的IntentFilter。</p><p>  4.2主界面設(shè)計(jì)實(shí)現(xiàn)</p><p>  短信智能分類管理應(yīng)用軟件的主界面,它是TabActivity這個(gè)項(xiàng)目采用的風(fēng)格是黑白主題,屬于手機(jī)的定制項(xiàng)目。

91、設(shè)置了相應(yīng)的寬度、高度、背景色等參數(shù),布局文件main.xml。應(yīng)用界面如圖4.1。</p><p><b>  圖4.1 信息界面</b></p><p>  1、外圍布局(TabHost)詳細(xì)設(shè)計(jì)代碼如下:</p><p>  <LinearLayout</p><p>  android:layout_wid

92、th="fill_parent"</p><p>  android:layout_height="fill_parent"</p><p>  android:orientation="vertical"</p><p><b>  ></b></p><p

93、>  /*在LinearLayout(線性布局)中的代碼 */</p><p>  <TabWidget android:id="@android:id/tabs" </p><p>  /*設(shè)置ID=tabs標(biāo)識(shí)*/</p><p>  android:layout_width="fill_parent"<

94、/p><p>  android:layout_height="wrap_content"/></p><p>  /*Tabweight(控件)代碼 */</p><p>  <FrameLayout android:id="@android:id/tabcontent" </p><p> 

95、 /*設(shè)置ID=tabcontent標(biāo)識(shí)*/</p><p>  android:layout_width="fill_parent"</p><p>  android:layout_height="0dip"</p><p>  android:layout_weight="1"/> </p

96、><p>  /*FrameLayout(框布局)代碼 */</p><p>  </LinearLayout></p><p>  </TabHost></p><p>  2、在Res中創(chuàng)建drawable放置主界面標(biāo)簽圖片,創(chuàng)建values添加string.xml設(shè)置標(biāo)簽名稱。</p><p>

97、;  <string name="conversation">會(huì)話</string></p><p>  <string name="folder">文件夾</string></p><p>  <string name="group">群組</string>

98、</p><p>  3、創(chuàng)建類ConversationActivity、GroupActivity、FolderActivity相關(guān)標(biāo)簽的封裝和方法,后綴為.java,寫入代碼運(yùn)行。</p><p>  4.3會(huì)話列表模塊設(shè)計(jì)實(shí)現(xiàn)</p><p>  會(huì)話列表模塊功能主要為通過異步查詢獲取會(huì)話數(shù)據(jù),不會(huì)導(dǎo)致anr異常,對(duì)于會(huì)話可以進(jìn)行單條和多條的刪除,查看會(huì)話詳情

99、。</p><p>  會(huì)話列表的編輯狀態(tài)的實(shí)現(xiàn)與設(shè)計(jì)參數(shù),實(shí)現(xiàn)如圖4.2。</p><p><b>  圖4.2 參數(shù)說明</b></p><p>  會(huì)話列表下的線性布局,如圖4.3。</p><p><b>  圖4.3 線性布局</b></p><p>  在smsm

100、anager\res\Layout\new_msg_button.xml文件夾中LinearLayout創(chuàng)建,設(shè)置相應(yīng)代碼:</p><p>  <?xml version="1.0" encoding="utf-8"?></p><p>  <LinearLayout xmlns:android="http://sche

101、mas.android.com/apk/res/android"</p><p>  android:layout_width="match_parent"</p><p>  android:layout_height="match_parent"</p><p>  android:orientation=&qu

102、ot;vertical" </p><p>  android:background="@android:color/white"></p><p>  <TextView android:layout_width="fill_parent"</p><p>  android:layout_height

103、="wrap_content"</p><p>  android:text="@string/receiver"</p><p>  android:textSize="16sp"/></p><p>  <AutoCompleteTextView android:id="@+id/

104、et_number"</p><p>  android:layout_width="fill_parent"</p><p>  android:layout_height="wrap_content"</p><p>  android:completionThreshold="1"</

105、p><p>  android:hint="@string/please_enter_number"</p><p>  android:textSize="18sp"</p><p>  android:inputType="phone"/></p><p><b> 

106、 ……</b></p><p>  </LinearLayout></p><p>  1、先要添加一個(gè)“新建信息”按鈕代碼.:</p><p>  <Button android:id="@+id/bt_new_msg"</p><p>  android:layout_width=&quo

107、t;240px"</p><p>  android:layout_height="match_parent"</p><p>  android:layout_gravity="center"</p><p>  android:layout_marginTop="6px"</p>

108、<p>  android:text="@string/new_msg" /></p><p>  2、“全選”、“取消選擇”、ListView、TexttView、“刪除”所在的線性布局(LinearLayout)同理設(shè)置代碼。最后在相應(yīng)的strings.xml中創(chuàng)建字符串名字標(biāo)識(shí),如下:</p><p>  <string name=&quo

109、t;new_msg">新建信息</string></p><p>  <string name="all_select">全選</string></p><p>  <string name="cancel_selected">取消選擇</string></p>

110、<p>  <string name="conversation_empty">會(huì)話為空</string></p><p>  <string name="delete">刪除</string></p><p>  4.4文件夾視圖模塊設(shè)計(jì)實(shí)現(xiàn)</p><p>  文

111、件夾視圖模塊主要對(duì)信息進(jìn)行了分類管理:收件箱、發(fā)件箱、已發(fā)送、草稿箱這四類,并且我們對(duì)信息進(jìn)行了日期分隔顯示,以達(dá)到方便管理的目的。文件夾視圖的實(shí)現(xiàn)如圖4.4。</p><p>  圖4.4 文件夾視圖</p><p>  1、在src\cn.itcast.smsmanager中創(chuàng)建類FolderActivity,用來布局文件夾視圖列表的模塊。在strings.xml中創(chuàng)建字符串名字標(biāo)識(shí),

112、如下:</p><p>  <string name="inbox">收件箱</string></p><p>  <string name="outbox">發(fā)送箱</string></p><p>  <string name="sent">已

113、發(fā)送</string></p><p>  <string name="draft">草稿箱</string></p><p>  2、繼而在sms.java中做數(shù)據(jù)封裝。然后查詢數(shù)據(jù)時(shí),定義類QueryHandler,用條件語句實(shí)現(xiàn)。</p><p>  private final class QueryHa

114、ndler extends AsyncQueryHandler{}</p><p>  3、查詢方法為startQuery(),執(zhí)行查詢,分四次進(jìn)行。執(zhí)行操作mQueryHandler.startQuery(i, null, uri, null, null, null, null);初始化size集合的大小。</p><p>  private void initSizeMap() {&l

115、t;/p><p>  // TODO Auto-generated method stub</p><p>  for(int i = 0;i< images.length;i++){</p><p>  sizeMap.put(i, 0);}</p><p>  4、注冊(cè)短信的內(nèi)容觀察者:</p><p>  //

116、content://sms </p><p>  Uri uri = Uri.parse("content://mms-sms/conversations/");</p><p>  getContentResolver().registerContentObserver(uri, false, observer);</p><p><

117、;b>  5、綁定數(shù)據(jù):</b></p><p>  views.header.setImageResource(images[position]);</p><p>  views.tv_name.setText(names[position]);</p><p><b>  6、初始化控件:</b></p>

118、<p>  View view = null;</p><p>  FolderViews views = null;</p><p>  if(convertView != null){</p><p>  view = convertView;</p><p>  views = (FolderViews) view.getTa

119、g();}else{</p><p>  view = getLayoutInflater().inflate(R.layout.folder_item, parent, false);</p><p>  views = new FolderViews();</p><p>  views.header = (ImageView) view.findViewByI

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論