中國(guó)棗病蟲害診斷系統(tǒng) _第1頁(yè)
已閱讀1頁(yè),還剩36頁(yè)未讀 繼續(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>  河北農(nóng)業(yè)大學(xué)信息學(xué)院</p><p><b>  本科畢業(yè)論文</b></p><p>  題 目: 中國(guó)棗病蟲害診斷系統(tǒng) </p><p>  學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 </p><p>  專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)0902班 </p&

2、gt;<p>  學(xué) 號(hào): 2009234010216 </p><p>  學(xué)生姓名: 張平 </p><p>  指導(dǎo)教師姓名: 周桂紅 </p><p>  指導(dǎo)教師職稱: 教授 </p><p&

3、gt;  二O一三 年 五 月 二十八 日</p><p><b>  摘 要</b></p><p>  Android手機(jī)的普及使得一些應(yīng)用軟件得到了很好的推廣,通常一些專家診斷系統(tǒng)都是通過電腦來實(shí)現(xiàn),一些偏遠(yuǎn)的地區(qū)互聯(lián)網(wǎng)并沒有被覆蓋,所以這就使得一些棗樹病害得不到及時(shí)的治療和防御,本文所研究的棗病蟲害診斷系統(tǒng)是基于以往病蟲害信息和全國(guó)專家經(jīng)驗(yàn)為一體的跨平臺(tái)

4、系統(tǒng),android平臺(tái)是市場(chǎng)最普及的應(yīng)用平臺(tái),現(xiàn)代手機(jī)的高普及率,易用。該系統(tǒng)應(yīng)用于android平臺(tái)實(shí)現(xiàn)了棗病蟲害診斷能夠隨時(shí)掌控,更方便了查詢各種病態(tài)信息。</p><p>  本系統(tǒng)通過嵌入式數(shù)據(jù)庫(kù)SQLite存放病蟲害相關(guān)信息,使用java技術(shù)實(shí)現(xiàn)本系統(tǒng)兩大功能模塊。在研究本項(xiàng)目之前,首先要搜集相關(guān)病蟲害資料然后進(jìn)一步整理;然后進(jìn)行系統(tǒng)框架圖,系統(tǒng)流程圖的設(shè)計(jì);然后編寫代碼實(shí)現(xiàn)每一模塊功能;最后調(diào)試程序

5、,撰寫論文。</p><p>  由于棗病蟲害診斷系統(tǒng)是基于android平臺(tái)開發(fā)的單擊系統(tǒng),數(shù)據(jù)庫(kù)里邊的病蟲害信息量受到一定的限制。但是對(duì)于一些常見的棗病蟲害,此系統(tǒng)可以輕松的診斷此棗樹的病害情況,方便工作人員進(jìn)一步預(yù)防,提高棗的產(chǎn)量。</p><p>  該系統(tǒng)實(shí)現(xiàn)了按危害部位和危害時(shí)期兩種棗病蟲害診斷功能。</p><p>  關(guān)鍵字:棗病蟲害,專家診斷系統(tǒng)、

6、SQLite數(shù)據(jù)庫(kù)、java技術(shù).</p><p><b>  Abstract</b></p><p>  Due to the popularity of Android mobile phone application software is very good promotion, usually some expert diagnosis system is

7、 realized by computer, some remote areas are not covered by the Internet, so it makes a number of jujube diseases without treatment and defense timely, jujube diseases and insect pest diagnosis system in this paper is th

8、e cross platform system the pest information and the experience of experts as one based on the Android application platform, platform is the most popu</p><p>  The system through the SQLite embedded database

9、 to storage pests and diseases related information, the use of Java technology to realize the system are two big function module. Before the study, first of all to collect related plant diseases and insect pests data and

10、 then further consolidation; then the system frame diagram, design the flow chart of the system; and then write code to implement each function module; finally, debugging, writing papers.</p><p>  The jujube

11、 Pests Diagnosis System is click system development platform based on Android database inside, the pest information limited. But for some common jujube diseases and insect pest, the jujube disease diagnosis of this syste

12、m can easily, convenient staff to prevent further, improve the yield of jujube.</p><p>  The system realizes according to the damage location and damage of two kinds of jujube diseases and Insect Pests Diagn

13、osis function.</p><p>  Keywords: jujube diseases and insect pest diagnosis expert system, SQLite, database, Java technology.</p><p><b>  目 錄</b></p><p><b>  1.

14、緒論1</b></p><p><b>  1.1 前言1</b></p><p>  1.2 課題研究的背景及意義1</p><p>  1.3 國(guó)內(nèi)外研究概況與發(fā)展趨勢(shì)1</p><p>  1.4 設(shè)計(jì)的主要工作2</p><p>  1.5 論文組織2</p&

15、gt;<p>  2.開發(fā)環(huán)境和開發(fā)技術(shù)3</p><p>  2.1工具環(huán)境介紹3</p><p>  2.1.1 開發(fā)環(huán)境的選擇3</p><p><b>  2.2開發(fā)技術(shù)3</b></p><p>  2.2.2 java語(yǔ)言簡(jiǎn)介3</p><p>  2.2.3

16、SQLite簡(jiǎn)介3</p><p><b>  3.需求分析5</b></p><p>  3.1 設(shè)計(jì)思想5</p><p>  3.2 可行性分析5</p><p>  3.2.1 操作可行性5</p><p>  3.2.2 技術(shù)可行性6</p><p>

17、  3.2.3 經(jīng)濟(jì)可行性6</p><p>  3.3 功能需求6</p><p>  3.3.1 基本功能需求6</p><p>  3.3.2 用戶界面需求7</p><p><b>  4.系統(tǒng)設(shè)計(jì)8</b></p><p>  4.1 總體結(jié)構(gòu)設(shè)計(jì)8</p>&

18、lt;p>  4.1.1 系統(tǒng)設(shè)計(jì)基礎(chǔ)8</p><p>  4.1.2 模塊設(shè)計(jì)8</p><p>  4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)10</p><p>  4.1.4系統(tǒng)邏輯設(shè)計(jì)11</p><p>  4.1.5系統(tǒng)流程12</p><p>  4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)12</p><

19、p>  4.2.1 數(shù)據(jù)庫(kù)簡(jiǎn)介12</p><p>  4.2.2 物理結(jié)構(gòu)設(shè)計(jì)13</p><p><b>  5.系統(tǒng)實(shí)現(xiàn)14</b></p><p>  5.1設(shè)計(jì)主界面14</p><p>  5.2系統(tǒng)各個(gè)模塊功能14</p><p>  5.2.1果樹成長(zhǎng)時(shí)期診斷14

20、</p><p>  6.系統(tǒng)綜合測(cè)試21</p><p>  6.1按發(fā)生蟲害部位測(cè)試21</p><p><b>  7.結(jié)束語(yǔ)25</b></p><p><b>  7.1 總結(jié)25</b></p><p>  7.2 心得體會(huì)25</p>&

21、lt;p><b>  致謝26</b></p><p><b>  參考文獻(xiàn)27</b></p><p><b>  1.緒論</b></p><p><b>  1.1 前言</b></p><p>  棗樹病蟲害的增加,使得大棗的產(chǎn)量逐年降低

22、,為了解決這一現(xiàn)象研發(fā)的基于android平臺(tái)的棗病蟲害診斷系統(tǒng)可以輕松的掌握病害信息,及時(shí)的診斷棗樹的病害情況。以往病蟲害防治主要依靠農(nóng)業(yè)專家和農(nóng)技人員的現(xiàn)場(chǎng)指導(dǎo),但生產(chǎn)實(shí)踐中棗農(nóng)的知識(shí)需求與專家的知識(shí)供給之間存在技術(shù)斷層,互聯(lián)網(wǎng)的接入在一些偏遠(yuǎn)的山區(qū)農(nóng)村還沒有普及,基于Web的棗病蟲害診斷專家系統(tǒng)使用受到了限制??紤]到現(xiàn)代手機(jī)的高普及率易用,將棗病蟲害診斷專家系統(tǒng)應(yīng)用于android平臺(tái)之上,該設(shè)計(jì)實(shí)現(xiàn)了棗病蟲害診斷能夠隨時(shí)掌控。&

23、lt;/p><p>  1.2 課題研究的背景及意義</p><p>  基于web的棗病蟲害診斷系統(tǒng)的適用范圍是已經(jīng)接入互聯(lián)網(wǎng)的地方,而中國(guó)山區(qū)比較多,互聯(lián)網(wǎng)的覆蓋范圍還為涉及到一偏遠(yuǎn)的山區(qū),這種情況下就使得很多務(wù)農(nóng)因?yàn)闊o(wú)法確診棗樹病蟲害信息而耽誤了其診斷的時(shí)機(jī),最后導(dǎo)致棗的產(chǎn)量和品質(zhì)降低,每年給農(nóng)民帶來巨大的經(jīng)濟(jì)損失。為了能夠及時(shí)的了解棗樹的病害信息,將手機(jī)作為棗病蟲害診斷系統(tǒng)研發(fā)的平臺(tái),

24、手機(jī)是人們?nèi)粘I钪胁豢苫蛉钡囊粯庸ぞ?,正是考慮到現(xiàn)代手機(jī)的高普及率易用,將棗病蟲害診斷專家系統(tǒng)應(yīng)用于android平臺(tái)之上,該設(shè)計(jì)實(shí)現(xiàn)了棗病蟲害診斷能夠隨時(shí)掌控。</p><p>  雖然說大學(xué)四年點(diǎn)點(diǎn)滴滴的積累,對(duì)于我來說不是很滿足,但是通過此次設(shè)計(jì)我們得到的不僅僅是一張畢業(yè)證,此次設(shè)計(jì)是我們四年的結(jié)晶,四年理論知識(shí)的積累讓我們對(duì)未來不是很明確,此次設(shè)計(jì)正是我們從校園理論到社會(huì)實(shí)踐的過渡階段。</p&g

25、t;<p>  通過畢業(yè)設(shè)計(jì),不僅使我對(duì)棗病蟲害有一定的了解,而且還鞏固、擴(kuò)大、加深了以前所學(xué)的知識(shí),培養(yǎng)綜合運(yùn)用已有知識(shí)獨(dú)立解決問題的能力。</p><p>  1.3 國(guó)內(nèi)外研究概況與發(fā)展趨勢(shì)</p><p>  將信息技術(shù)廣泛應(yīng)用為基礎(chǔ)的現(xiàn)代農(nóng)業(yè),在美國(guó),日本等許多發(fā)達(dá)國(guó)家已取得長(zhǎng)足發(fā)展。目前國(guó)際上有好多農(nóng)業(yè)專家系統(tǒng),廣泛應(yīng)用與生產(chǎn)管理,品種選擇,畜禽飼料配方,灌溉,施

26、肥,水土保持等眾多方面,設(shè)計(jì)對(duì)象主要是農(nóng)民,農(nóng)業(yè)技術(shù)人員和農(nóng)業(yè)管理人員。我國(guó)農(nóng)業(yè)專家系統(tǒng)的開發(fā)及應(yīng)用相比較國(guó)外起步比較晚,但發(fā)展速度較快,一些種植業(yè)有關(guān)的農(nóng)業(yè)專家系統(tǒng)已經(jīng)在農(nóng)業(yè)生產(chǎn)實(shí)際中得到應(yīng)用。我國(guó)應(yīng)用與農(nóng)業(yè)的許多害蟲防治系統(tǒng)已經(jīng)初步形成。</p><p>  1.4 設(shè)計(jì)的主要工作</p><p>  本系統(tǒng)包括兩個(gè)模塊:按時(shí)期診斷;按部位診斷。</p><p>

27、;  在手機(jī)終端選擇診斷方式,系統(tǒng)會(huì)顯示相應(yīng)的典型特征供用戶選擇,并提交,在診斷的過程中,為了解決棗病蟲害得并發(fā)癥問題,先后對(duì)病害庫(kù)和蟲害庫(kù)進(jìn)行操作。檢索出所有可能的病蟲害,用戶可以通過病蟲害詳細(xì)信息進(jìn)一步驗(yàn)證。</p><p>  1.5 論文組織 </p><p>  論文全文共分為七章:</p><p>  第一章 緒論 。 主要介紹了論文選題的引言、對(duì)課題

28、研究的背景及意義進(jìn)行了分析,同時(shí)也對(duì)國(guó)內(nèi)外研究狀況及發(fā)展趨勢(shì)進(jìn)行了介紹。</p><p>  第二章 開發(fā)環(huán)境和開發(fā)技術(shù)。介紹了系統(tǒng)的開發(fā)模式、開發(fā)環(huán)境等基礎(chǔ)知識(shí)。</p><p>  第三章 需求分析。主要介紹了系統(tǒng)設(shè)計(jì)思想、可行性分析、功能和性能需求。</p><p>  第四章 系統(tǒng)設(shè)計(jì)。主要介紹了系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),其中數(shù)據(jù)庫(kù)的設(shè)計(jì)包括了概

29、念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。</p><p>  第五章 系統(tǒng)實(shí)現(xiàn)。介紹了該系統(tǒng)的倆個(gè)模塊和它具有的功能。</p><p>  第六章 系統(tǒng)測(cè)試。選取具有代表性的診斷方式進(jìn)行診斷,測(cè)試結(jié)果是否正常顯示。</p><p>  第七章 結(jié)束語(yǔ)。對(duì)整個(gè)系統(tǒng)的編寫過程做一個(gè)詳細(xì)的總結(jié)。</p><p>  2.開發(fā)環(huán)境和開發(fā)技術(shù)</p>

30、<p><b>  2.1工具環(huán)境介紹</b></p><p>  2.1.1 開發(fā)環(huán)境的選擇</p><p>  本系統(tǒng)開發(fā)與運(yùn)行環(huán)境如下:</p><p>  ?開發(fā)環(huán)境:Windows 7</p><p>  運(yùn)行環(huán)境:android</p><p>  ?開發(fā)工具:Ecli

31、pse</p><p>  ?數(shù)據(jù)庫(kù)管理系統(tǒng):SQLite</p><p>  本系統(tǒng)主要采用java與Sqlite相結(jié)合的技術(shù)。利用Eclipse軟件來完成系統(tǒng)的整個(gè)編寫過程。</p><p><b>  2.2開發(fā)技術(shù)</b></p><p>  2.2.2 java語(yǔ)言簡(jiǎn)介</p><p>

32、;  Java編程語(yǔ)言的風(fēng)格十分接近C、C++語(yǔ)言。Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了 C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java 1.5 版本中,Java 又引入了泛型編程(Gene

33、ric Programming)、類型安全的枚舉、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱等語(yǔ)言特性。</p><p>  Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語(yǔ)言和解釋執(zhí)行計(jì)算機(jī)語(yǔ)言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的運(yùn)行效

34、率。</p><p>  2.2.3 SQLite簡(jiǎn)介</p><p>  SQLite是一個(gè)嵌入式數(shù)據(jù)庫(kù)引擎,針對(duì)內(nèi)存等資源有限的設(shè)備(如手機(jī),PDA,MP3)提供的一種高效的數(shù)據(jù)庫(kù)引擎。</p><p>  SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,

35、在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫(kù)管理系統(tǒng)來講,它的處理速度比他們都快。</p><p>  Sqlite數(shù)據(jù)庫(kù)不像其他的數(shù)據(jù)庫(kù)(如Oracle),它沒有服務(wù)器進(jìn)程。所有的內(nèi)容包含在同

36、一個(gè)單文件中。該文件時(shí)跨平臺(tái)的,可以自由復(fù)制?;谄渥陨淼南忍靸?yōu)勢(shì),Sqlite在嵌入式領(lǐng)域得到了廣泛應(yīng)用。Android也沒有重復(fù)發(fā)明“輪子”,而是直接使用SQLite數(shù)據(jù)庫(kù)。</p><p><b>  3.需求分析</b></p><p><b>  3.1 設(shè)計(jì)思想</b></p><p>  第一步整合病蟲害信息

37、庫(kù)資源,第二步使用Elicpse完成該系統(tǒng)的開發(fā)。</p><p>  首先將病蟲害資源分類,分為病害資源庫(kù)和蟲害資源庫(kù);然后將整個(gè)系統(tǒng)的流程圖和系統(tǒng)邏輯圖設(shè)計(jì)出來,按照系統(tǒng)邏輯圖的思路編寫代碼。</p><p>  該系統(tǒng)的開發(fā)平臺(tái)設(shè)在android上使得更多的用戶能夠及時(shí)的診斷棗樹的病害情況。為了更確切的診斷病蟲害信息,該系統(tǒng)采用兩種診斷模式,用戶可以選擇兩種診斷模式進(jìn)行診斷。<

38、/p><p><b>  3.2 可行性分析</b></p><p>  可行性分析法是對(duì)工程項(xiàng)目進(jìn)行系統(tǒng)技術(shù)經(jīng)濟(jì)論證,經(jīng)濟(jì)合理性綜合分析的方法。其目的是通過對(duì)技術(shù)先進(jìn)程度,經(jīng)濟(jì)合理性和條件可能性的分析論證,選擇以最小的人力、物力、財(cái)力耗費(fèi),取得最佳技術(shù)、經(jīng)濟(jì)、社會(huì)效益的切實(shí)方案。它是解決項(xiàng)目投資前期分析的主要手段??尚行苑治鍪峭ㄟ^對(duì)項(xiàng)目的主要內(nèi)容和配套條件,如市場(chǎng)需求、

39、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和分析比較,并對(duì)項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會(huì)環(huán)境影響進(jìn)行預(yù)測(cè),從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。可行性分析應(yīng)具有預(yù)見性、公正性、可靠性、科學(xué)性的特點(diǎn)。</p><p>  本系統(tǒng)在設(shè)計(jì)過程中考慮到以下幾個(gè)可行性:</p>

40、;<p>  3.2.1 操作可行性</p><p>  本系統(tǒng)操作簡(jiǎn)單,初體驗(yàn)者只需操作一次就可輕松掌握其步驟。而且此系統(tǒng)是基于android平臺(tái)開發(fā),手機(jī)的發(fā)展歷程從最初的功能機(jī)時(shí)代邁進(jìn)了如今的智能機(jī)時(shí)代,在信息如此發(fā)達(dá)的今天,擁有一部智能手機(jī)對(duì)每個(gè)人來說顯得十分重要,智能手機(jī)的出現(xiàn)在很多方面可以說起到了顛覆性的作用。所以此系統(tǒng)在操作方面會(huì)讓用戶很容易接受。</p><p&g

41、t;  3.2.2 技術(shù)可行性</p><p>  Android平臺(tái)采用了整合的策略思想,包括底層linux操作系統(tǒng),中間層的中間件和上層的java應(yīng)用程序。</p><p>  1.應(yīng)用程序框架支持組件的重用與替換;</p><p>  2.android應(yīng)用程序?qū)⒂衘ava編寫,編譯的類文件通過DX工具轉(zhuǎn)換成一 種后綴名為.dex的文件來執(zhí)行

42、。Dalivik虛擬機(jī)是基于寄存器的,相對(duì)與java虛擬機(jī)速度要快很多;</p><p>  3.SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。</p><p>  3.2.3 經(jīng)濟(jì)可行性</p><p>  系統(tǒng)在開發(fā)過程中所使用的軟件均為免費(fèi)版,由于開發(fā)環(huán)境在win7之上,所以前期該系統(tǒng)只需要提供人力和一臺(tái)電腦。</p><p>  以往基于web的

43、診斷系統(tǒng)不能得到適時(shí)的運(yùn)用,所以將系統(tǒng)移植到android之上迫在眉睫,其前景將一片見好。</p><p><b>  3.3 功能需求</b></p><p>  根據(jù)棗樹一般發(fā)生病蟲害的特征以及專家的多年經(jīng)驗(yàn),一個(gè)棗樹診斷系統(tǒng)可以從倆個(gè)方面來診斷:</p><p>  1) 根據(jù)病害部位診斷;這種查找方式針對(duì)不同用戶都適用,用戶只需要選擇按

44、部位診斷按鈕,接著點(diǎn)選病蟲害特征就可以診斷棗樹病害情況;</p><p>  2) 根據(jù)棗樹病害時(shí)期診斷;這種查找方式針對(duì)的用戶是稍微有點(diǎn)棗樹嘗試的用戶,這種診斷方式需要選擇發(fā)生病害時(shí)期然后點(diǎn)選病害特征;</p><p>  兩種功能模塊,用戶可以隨意選擇一種進(jìn)行診斷,也可以選擇一種以后再選擇第二種進(jìn)行進(jìn)一步的確診病害情況。</p><p>  3.3.1 基本功能

45、需求</p><p>  通過對(duì)系統(tǒng)的分析,可知該系統(tǒng)有兩項(xiàng)功能:</p><p>  按時(shí)期診斷主要是通過棗樹病害時(shí)期所出現(xiàn)的癥狀從而來確診棗樹病害信息</p><p>  按部位診斷主要是通過棗樹病害部位所出現(xiàn)的癥狀從而來確診棗樹病態(tài)信息。</p><p>  3.3.2 用戶界面需求</p><p>  用戶界面

46、是人與計(jì)算機(jī)之間的媒介。用戶通過用戶界面來與計(jì)算機(jī)進(jìn)行信息交換。因此,用戶界面的質(zhì)量,直接關(guān)系到應(yīng)用系統(tǒng)的性能能否充分 發(fā)揮,能否使用戶準(zhǔn)確、高效、輕松、愉快地工作。所以軟件的友好性、易用性對(duì)于軟件系統(tǒng)至關(guān)重要。目前國(guó)內(nèi)軟件開發(fā)者在設(shè)計(jì)過程中很注重軟件的開發(fā)技術(shù)及 其具有的業(yè)務(wù)功能,而忽略了用戶對(duì)用戶界面的需求,影響軟件的易用性、友好性。其實(shí)用戶界面是一個(gè)應(yīng)用程序很重要的一面——它直接影響程序的使用價(jià)值。對(duì)于大多數(shù)用戶來說,用戶界面就是

47、他們對(duì)一個(gè)產(chǎn)品的全部了解。所以對(duì)他們來說,一個(gè)內(nèi)部設(shè)計(jì)良好但用戶界面不好的應(yīng)用程序就是一個(gè)不好的程序。一個(gè)應(yīng)用程序的用戶界面框架是決定它的商業(yè)價(jià)值的重要因素。</p><p>  考慮到系統(tǒng)面對(duì)的用戶各不相同,所以該設(shè)計(jì)界面充分利用用戶對(duì)大多數(shù)應(yīng)用的熟悉程度,幫助用戶通過已掌握的知識(shí)來使用界面。窗口的布局、色彩的搭配、字體風(fēng)格等方面處處模仿微軟,因此系統(tǒng)界面美觀大方,符合大多數(shù)人的使用習(xí)慣,按鈕得體,使用起來非常

48、簡(jiǎn)單。</p><p><b>  4.系統(tǒng)設(shè)計(jì)</b></p><p>  4.1 總體結(jié)構(gòu)設(shè)計(jì)</p><p>  4.1.1 系統(tǒng)設(shè)計(jì)基礎(chǔ)</p><p>  系統(tǒng)總體設(shè)計(jì)原則是需要充分考慮系統(tǒng)框架的合理構(gòu)建理。其組織結(jié)構(gòu)圖如4-1所示。</p><p>  圖4-1系統(tǒng)組織結(jié)構(gòu)圖</

49、p><p>  4.1.2 模塊設(shè)計(jì)</p><p>  本系統(tǒng)是一個(gè)診斷系統(tǒng),主要目標(biāo)是讓農(nóng)戶能夠適時(shí)的診斷棗樹的健康狀況,做出相應(yīng)的措施。此診斷系統(tǒng)包涵倆個(gè)模塊:按時(shí)期診斷;按部位診斷;農(nóng)戶可以根據(jù)以上倆種診斷方式確切的診斷出棗樹的病害情況。</p><p>  根據(jù)需求分析中列出的棗病蟲害診斷系統(tǒng)的兩個(gè)基本模塊,設(shè)計(jì)了如下圖4-2所示系統(tǒng)功能層次圖。</p&

50、gt;<p>  圖4-2 系統(tǒng)功能層次圖</p><p>  由上述的系統(tǒng)總體結(jié)構(gòu)圖所示,將一個(gè)棗病蟲害診斷系統(tǒng)分成兩個(gè)子模塊,</p><p>  他們分別為:按部位診斷、按時(shí)期診斷模塊。具體功能描述如下:</p><p><b>  按時(shí)期診斷</b></p><p>  用戶可根據(jù)棗樹發(fā)生病害的時(shí)期

51、以及這個(gè)時(shí)期所出現(xiàn)的病害特征診斷其病害情況并得到及時(shí)的預(yù)防治療。</p><p><b>  按部位診斷:</b></p><p>  用戶可根據(jù)棗樹發(fā)生病害的部位以及部位發(fā)生的病害特征診斷其病害情況并得到及時(shí)的預(yù)防治療。</p><p>  4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p>  在系統(tǒng)模塊的設(shè)計(jì)過程中,將系統(tǒng)模

52、塊以按鈕的形式展現(xiàn)出來。按時(shí)期診斷模塊的功能層次,如圖4-3所示;按部位診斷的功能層次,如圖4-4所示</p><p>  圖4-3按時(shí)期診斷模塊的功能層次 圖4-4按部位診斷模塊的功能層次</p><p>  4.1.4系統(tǒng)邏輯設(shè)計(jì)</p><p>  系統(tǒng)從總體上可分為按部位診斷模塊、按時(shí)期診斷模塊兩大部分。各個(gè)模塊實(shí)現(xiàn)的功能都大同小異,目

53、的都是為了進(jìn)一步確診病害情況。下面的各模塊功能流圖就是由各功能之間的關(guān)系而得出的。</p><p>  如下圖4-5所示用戶根據(jù)棗樹受害情況選擇進(jìn)行何種診斷方式,數(shù)據(jù)庫(kù)根據(jù)用戶所選條件進(jìn)行篩選得出相應(yīng)的信息:</p><p>  圖4-5系統(tǒng)邏輯設(shè)計(jì)流程</p><p><b>  4.1.5系統(tǒng)流程</b></p><p&

54、gt;  系統(tǒng)在執(zhí)行過程中,按照一定的流程進(jìn)行。如圖4-7所示</p><p>  圖4-6 系統(tǒng)執(zhí)行流程圖</p><p><b>  4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  4.2.1 數(shù)據(jù)庫(kù)簡(jiǎn)介</p><p>  數(shù)據(jù)庫(kù)中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可

55、以按各自的用法使用數(shù)據(jù)庫(kù)中的數(shù)據(jù);多個(gè)用戶可以同時(shí)共享數(shù)據(jù)庫(kù)中的數(shù)據(jù)資源,即不同的用戶可以同時(shí)存取數(shù)據(jù)庫(kù)中的同一個(gè)數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對(duì)信息內(nèi)容的要求,同時(shí)也滿足了各用戶之間信息通信的要求。</p><p>  數(shù)據(jù)庫(kù)是一個(gè)單位或是一個(gè)應(yīng)用領(lǐng)域的通用數(shù)據(jù)處理系統(tǒng),它存儲(chǔ)的是屬于企業(yè)和事業(yè)部門、團(tuán)體和個(gè)人的有關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)是從全局觀點(diǎn)出發(fā)建立的,按一定的數(shù)據(jù)模型進(jìn)行組織、描述和存儲(chǔ)。其結(jié)構(gòu)

56、基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取路徑,且數(shù)據(jù)不再針對(duì)某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。</p><p>  數(shù)據(jù)庫(kù)是存儲(chǔ)在一起的相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)是結(jié)構(gòu)化的,無(wú)有害的或不必要的冗余,并為多種應(yīng)用服務(wù);數(shù)據(jù)的存儲(chǔ)獨(dú)立于使用它的程序;對(duì)數(shù)據(jù)庫(kù)插入新數(shù)據(jù),修改和檢索原有數(shù)據(jù)均能按一種公用的和可控制的方式進(jìn)行。</p><p>  4.2.2 物理結(jié)構(gòu)設(shè)計(jì)<

57、/p><p>  根據(jù)邏輯關(guān)系模型可直接設(shè)計(jì)基于某種數(shù)據(jù)庫(kù)管理系統(tǒng)支持的物理結(jié)構(gòu),我們知道關(guān)系數(shù)據(jù)庫(kù)是由表構(gòu)成的,所以依據(jù)病害信息、蟲害信息在數(shù)據(jù)庫(kù)中建立相應(yīng)的表。</p><p>  本系統(tǒng)采用的數(shù)據(jù)庫(kù)是SQLite數(shù)據(jù)庫(kù),本數(shù)據(jù)庫(kù)名稱為“zhp.db”,其中包含兩張表。各表結(jié)構(gòu)分別如以下列表所示。</p><p>  表4-1病害信息表(disease)</p

58、><p>  表4-2蟲害信息表(worm)</p><p><b>  5.系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  5.1設(shè)計(jì)主界面</b></p><p>  病蟲害診斷系統(tǒng)主頁(yè)面如圖5-1所示:</p><p><b>  圖5-1 系統(tǒng)窗體</b&g

59、t;</p><p>  5.2系統(tǒng)各個(gè)模塊功能</p><p>  5.2.1果樹成長(zhǎng)時(shí)期診斷如圖5-2</p><p>  圖5-2 按時(shí)期診斷</p><p><b>  實(shí)現(xiàn)選擇代碼如下:</b></p><p>  protected void onCreate(Bundle saved

60、InstanceState) {</p><p>  super.onCreate(savedInstanceState);</p><p>  requestWindowFeature(Window.FEATURE_NO_TITLE);</p><p>  getWindow().setFlags(WindowManager.LayoutParams.FLAG_F

61、ULLSCREEN,</p><p>  WindowManager.LayoutParams.FLAG_FULLSCREEN);</p><p>  setContentView(R.layout.time);</p><p>  linear = (LinearLayout) findViewById(R.id.linear_time);</p>

62、<p>  rb_mengya = (RadioButton) findViewById(R.id.radioButton_mengya);</p><p>  rb_youmiao = (RadioButton) findViewById(R.id.radioButton_youmiao);</p><p>  rb_chengzhang=(RadioButton)findVi

63、ewById(R.id.radioButton_chengzhang);</p><p>  rb_youguo = (RadioButton)findViewById(R.id.radioButton_youguo);</p><p>  rb_guoshichengzhang=(RadioButton)findViewById(R.id.radioButton_guoshichengz

64、hang);</p><p>  rb_guoshipengda=(RadioButton)findViewById(R.id.radioButton_guoshipengda);</p><p>  rb_guoshichengshu=(RadioButton)findViewById(R.id.radioButton_guoshichengshu);</p><p&

65、gt;  rb_zhucang = (RadioButton) findViewById(R.id.radioButton_zhucang);</p><p>  rb_zhounian=(RadioButton)findViewById(R.id.radioButton_zhounian);</p><p>  linear.setBackgroundResource(R.drawabl

66、e.back);</p><p>  rb_mengya.setOnClickListener(click);</p><p>  rb_youmiao.setOnClickListener(click);</p><p>  rb_chengzhang.setOnClickListener(click);</p><p>  rb_youg

67、uo.setOnClickListener(click);</p><p>  rb_guoshichengzhang.setOnClickListener(click);</p><p>  rb_guoshipengda.setOnClickListener(click);</p><p>  rb_guoshichengshu.setOnClickListen

68、er(click);</p><p>  rb_zhucang.setOnClickListener(click);</p><p>  rb_zhounian.setOnClickListener(click);</p><p><b>  }</b></p><p>  OnClickListener click =

69、 new OnClickListener() {</p><p>  public void onClick(View v) {</p><p>  switch (v.getId()) {</p><p>  case R.id.radioButton_mengya:</p><p>  submit(0);</p><

70、p><b>  break;</b></p><p>  case R.id.radioButton_youmiao:</p><p>  submit(1);</p><p><b>  break;</b></p><p>  case R.id.radioButton_chengzhan

71、g:</p><p>  submit(2);</p><p><b>  break;</b></p><p>  case R.id.radioButton_youguo:</p><p>  submit(3);</p><p><b>  break;</b><

72、/p><p>  case R.id.radioButton_guoshichengzhang:</p><p>  submit(4);</p><p><b>  break;</b></p><p>  case R.id.radioButton_guoshipengda:</p><p>  

73、submit(5);</p><p><b>  break;</b></p><p>  case R.id.radioButton_guoshichengshu:</p><p>  submit(6);</p><p><b>  break;</b></p><p>

74、  case R.id.radioButton_zhucang:</p><p>  submit(7);</p><p><b>  break;</b></p><p>  case R.id.radioButton_zhounian:</p><p>  submit(8);</p><p>

75、;<b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p&g

76、t;<p><b>  };</b></p><p><b>  @Override</b></p><p>  public boolean onCreateOptionsMenu(Menu menu) {</p><p>  getMenuInflater().inflate(R.menu.main_me

77、nu, menu);</p><p>  return super.onCreateOptionsMenu(menu);</p><p><b>  }</b></p><p><b>  @Override</b></p><p>  public boolean onOptionsItemSel

78、ected(MenuItem item) {</p><p>  switch (item.getItemId()) {</p><p>  case R.id.item_exit:</p><p>  showAlertDialog();//</p><p><b>  break;</b></p>&l

79、t;p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  return super.onOptionsItemSelected(item);</p><p><b>

80、;  }</b></p><p>  private void showAlertDialog() {</p><p>  AlertDialog.Builder builder = new AlertDialog.Builder(this);</p><p>  builder.setMessage(R.string.button_eixt);<

81、/p><p>  builder.setPositiveButton(R.string.ok,</p><p>  new DialogInterface.OnClickListener() {</p><p>  public void onClick(DialogInterface dialog, int which) {</p><p>&

82、lt;b>  finish();</b></p><p><b>  }</b></p><p><b>  });</b></p><p>  builder.setNegativeButton(R.string.cancle,</p><p>  new DialogInter

83、face.OnClickListener() {</p><p>  public void onClick(DialogInterface dialog, int which) {</p><p><b>  }</b></p><p><b>  });</b></p><p>  AlertD

84、ialog dialog = builder.create();</p><p>  dialog.show();</p><p><b>  }</b></p><p>  private void submit(int id) {</p><p>  Intent intent = new Intent(TimeAc

85、tivity.this,</p><p>  Cha1.class);</p><p>  intent.putExtra("time_id", id);</p><p>  intent.putExtra("time", "time");</p><p>  startActivi

86、ty(intent);</p><p><b>  }</b></p><p><b>  }</b></p><p>  按時(shí)期選擇之后特點(diǎn)選擇界面如下圖5-3:</p><p>  圖5-3 按時(shí)期診斷選擇</p><p>  實(shí)現(xiàn)選擇的代碼如下:</p>

87、<p>  protected void onCreate(Bundle savedInstanceState) {</p><p>  super.onCreate(savedInstanceState);</p><p>  setContentView(R.layout.cha);</p><p>  button_submit = (Button)

88、 findViewById(R.id.button1_submit);</p><p>  cb_a = (CheckBox) findViewById(R.id.checkBox_a);</p><p>  cb_b = (CheckBox) findViewById(R.id.checkBox_b);</p><p>  cb_c = (CheckBox) fi

89、ndViewById(R.id.checkBox_c);</p><p>  cb_d = (CheckBox) findViewById(R.id.checkBox_d);</p><p>  cb_e = (CheckBox) findViewById(R.id.checkBox_e);</p><p>  cb_f = (CheckBox) findViewB

90、yId(R.id.checkBox_f);</p><p>  cb_g = (CheckBox) findViewById(R.id.checkBox_g);</p><p>  cb_h = (CheckBox) findViewById(R.id.checkBox_h);</p><p>  cb_i = (CheckBox) findViewById(R.i

91、d.checkBox_i);</p><p>  cb_j = (CheckBox) findViewById(R.id.checkBox_j);</p><p>  cb_k = (CheckBox) findViewById(R.id.checkBox_k);</p><p>  cb_l = (CheckBox) findViewById(R.id.check

92、Box_l);</p><p>  cb_m = (CheckBox) findViewById(R.id.checkBox_m);</p><p>  time_id = getIntent().getIntExtra("time_id", 0);</p><p>  switch (time_id) {</p><p>

93、;  case 0:// 萌芽展葉期</p><p>  cb_a.setText("吃芽");//吃芽</p><p>  cb_b.setText("遇驚擾吐絲下垂");</p><p>  cb_c.setText("幼蟲吐絲爬行");</p><p>  cb_d.setTe

94、xt("吸食汁液");</p><p>  cb_e.setText("吐絲纏綴葉片危害");</p><p>  cb_f.setText("吃葉");</p><p>  cb_g.setVisibility(View.GONE);</p><p>  cb_h.setVisib

95、ility(View.GONE);</p><p>  cb_i.setVisibility(View.GONE);</p><p>  cb_j.setVisibility(View.GONE);</p><p>  cb_k.setVisibility(View.GONE);</p><p>  cb_l.setVisibility(Vi

96、ew.GONE);</p><p>  cb_m.setVisibility(View.GONE);</p><p><b>  break;</b></p><p>  time_id=getIntent().getIntExtra(“time_id”,o);</p><p>  button_submit.setOn

97、ClickListener(click);</p><p><b>  }</b></p><p>  OnClickListener click = new OnClickListener() {</p><p>  public void onClick(View v) {</p><p>  Intent inte

98、nt = new Intent(Cha1.this, DiseaseActivity.class);</p><p>  if (time != null && time.equals("time")){</p><p>  switch (time_id) {</p><p><b>  case 0:</b&g

99、t;</p><p>  if (cb_a.isChecked()) {</p><p>  String acy = "acy";</p><p>  intent.putExtra("acy", acy);</p><p>  intent.putExtra("time_id",

100、 time_id);</p><p>  intent.putExtra("time", time);</p><p>  } if (cb_b.isChecked()) {</p><p>  String ats = "ats";</p><p>  intent.putExtra("a

101、ts", ats);</p><p>  intent.putExtra("time_id", time_id);</p><p>  intent.putExtra("time", time);</p><p>  } if (cb_c.isChecked()) {</p><p>  S

102、tring apx = "apx";</p><p>  intent.putExtra("apx", apx);</p><p>  intent.putExtra("time_id", time_id);</p><p>  intent.putExtra("time", time)

103、;</p><p>  } if (cb_d.isChecked()) {</p><p>  String axy = "axy";</p><p>  intent.putExtra("axy", axy);</p><p>  intent.putExtra("time_id"

104、;, time_id);</p><p>  intent.putExtra("time", time);</p><p>  } if (cb_e.isChecked()) {</p><p>  String axs = "axs";</p><p>  intent.putExtra("

105、;axs", axs);</p><p>  intent.putExtra("time_id", time_id);</p><p>  intent.putExtra("time", time);</p><p>  } if (cb_f.isChecked()) {</p><p> 

106、 String acyy= "acyy";</p><p>  intent.putExtra("acyy", acyy);</p><p>  intent.putExtra("time_id", time_id);</p><p>  intent.putExtra("time",

107、time);</p><p><b>  } </b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  startActivity

108、(intent);</p><p><b>  }</b></p><p><b>  };</b></p><p><b>  6.系統(tǒng)綜合測(cè)試</b></p><p>  系統(tǒng)兩個(gè)主要模塊都已設(shè)計(jì)完成,現(xiàn)就目前的兩個(gè)模塊進(jìn)行測(cè)試。</p><p> 

109、 6.1按發(fā)生蟲害部位測(cè)試</p><p>  進(jìn)入棗病蟲害診斷系統(tǒng)主要界面。主界面包含兩個(gè)按鈕,用戶可以根據(jù)棗樹病蟲害時(shí)期或者病蟲害部位進(jìn)行診斷。主界面如圖6-1.</p><p>  圖6-1 系統(tǒng)主界面</p><p>  點(diǎn)擊蟲害發(fā)生的部位,界面如下圖6-2</p><p>  圖6-2 按蟲害發(fā)生的部位診斷的界面</p>

110、<p>  點(diǎn)擊蟲害發(fā)生的部位為根,界面如下圖6-3.</p><p>  圖6-3 蟲害發(fā)生的部位為根診斷的界面</p><p>  點(diǎn)擊提交“根腐”,界面如下圖6-4:</p><p>  圖6-4 查詢結(jié)果界面</p><p>  點(diǎn)擊病害名稱顯示該病害的全部信息,界面如下圖6-5</p><p>

111、  圖6-5 病蟲害相關(guān)信息界面</p><p>  點(diǎn)擊查看圖片顯示該病害的圖片,界面如下圖6-6</p><p>  圖6-6 相關(guān)病害圖片界面</p><p><b>  7.結(jié)束語(yǔ)</b></p><p><b>  7.1 總結(jié)</b></p><p>  這次

112、畢業(yè)設(shè)計(jì)我做的是中國(guó)棗病蟲害診斷系統(tǒng),這個(gè)功能以前是在windows平臺(tái)實(shí)現(xiàn)的,由于一些偏遠(yuǎn)地區(qū)未能被互聯(lián)網(wǎng)覆蓋,所以此次我做的畢業(yè)設(shè)計(jì)是基于android平臺(tái)開發(fā)。</p><p>  我這次畢業(yè)設(shè)計(jì)可以分五步進(jìn)行:</p><p>  1)整理指導(dǎo)老師發(fā)給資料,對(duì)課題進(jìn)行深刻的分析;</p><p>  2)設(shè)計(jì)整個(gè)系統(tǒng)的框架模型,建立相應(yīng)的邏輯圖形以及系統(tǒng)流程

113、圖;</p><p>  3)將作為數(shù)據(jù)庫(kù)的資料進(jìn)行進(jìn)一步的整理使得資料更清晰明了;</p><p>  4)運(yùn)用elicpse軟件進(jìn)行編碼實(shí)現(xiàn)設(shè)計(jì)好的功能;</p><p><b>  5)撰寫論文。</b></p><p>  雖然這次畢業(yè)設(shè)計(jì)已經(jīng)完成,但在做的過程中還是有一些因素未考慮到。此次畢業(yè)設(shè)計(jì)的優(yōu)缺點(diǎn)可總結(jié)

114、以下幾項(xiàng):</p><p><b>  優(yōu)點(diǎn):</b></p><p>  1)android手機(jī)普及,所以其使用率必會(huì)升高;</p><p>  2)界面簡(jiǎn)單易學(xué),不同用戶都可以輕松掌控;</p><p><b>  缺點(diǎn):</b></p><p>  1)該診斷系統(tǒng)屬于單

115、機(jī)系統(tǒng),所以有一些病蟲害信息在數(shù)據(jù)庫(kù)里邊不能查到;</p><p><b>  7.2 心得體會(huì)</b></p><p>  隨著畢業(yè)日的到來,我的畢業(yè)設(shè)計(jì)也接近尾聲。經(jīng)過一個(gè)多月的努力奮戰(zhàn)我的課程設(shè)計(jì)終于圓滿完成。在沒有選題前我對(duì)android方面的知識(shí)掌握的不是很熟練,知識(shí)只接觸了少許,對(duì)整個(gè)android項(xiàng)目沒有一個(gè)清楚的認(rèn)識(shí),但是通過這次畢業(yè)設(shè)計(jì)我通過查閱大量

116、有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí),也經(jīng)歷了不少艱辛,但收獲巨大。在整個(gè)設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立的工作的能力,樹立了對(duì)自己工作能力的信心,相信對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響,而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造中探索的艱難和成功時(shí)的喜悅。在這次畢業(yè)設(shè)計(jì)中的最大的收獲是不僅讓我更進(jìn)一步鞏固了以前的知識(shí),而且讓我對(duì)棗病蟲害方面的知識(shí)得到一定的了解。我相信這將對(duì)我終身受益。

117、</p><p><b>  致謝</b></p><p>  歷時(shí)將近倆個(gè)月的時(shí)間,我終于將學(xué)校安排的畢業(yè)設(shè)計(jì)圓滿完成。在這期間,我首先要感謝周老師對(duì)我的悉心教導(dǎo),從最初的定題,到資料收集,到寫作、修改,到論文定稿,她不厭其煩的幫我修改和改進(jìn)。她淵博的專業(yè)知識(shí)和嚴(yán)以律己,寬以待人的崇高風(fēng)范對(duì)我影響深遠(yuǎn),不僅讓我樹立了自己學(xué)術(shù)目標(biāo)還掌握了基本的研究方法。另外我還需感謝

118、數(shù)位學(xué)者的研究文獻(xiàn),沒有他們的研究成果的話,我很難完成這次畢業(yè)設(shè)計(jì),他們的研究成果讓我認(rèn)識(shí)到畢業(yè)設(shè)計(jì)和畢業(yè)論文如何進(jìn)行。最后我要感謝這四年來教導(dǎo)我的老師,感謝所有任課老師和所有同學(xué)在這四年來給自己的指導(dǎo)和幫助, 是他們教會(huì)了我專業(yè)知識(shí),教會(huì)了我如何學(xué)習(xí),教會(huì)了我如何做人。正是由于他們,我才能在各方面取得顯著的進(jìn)步,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下!</p><p>&

119、lt;b>  參考文獻(xiàn)</b></p><p> ?。?]《Android應(yīng)用開發(fā)詳解》 作者:郭宏志 編著 電子工業(yè)出版社 2010-06-01</p><p> ?。?]《Google Android開發(fā)入門與實(shí)踐》 作者:靳巖,姚尚朗 人民郵電出版社 2009-7-1</p><p> ?。?]《Android從入門到精通》作者 明

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論