軟件工程畢業(yè)論文-中國棗品種展示系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  中國棗品種展示系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  中國棗品種展示系統(tǒng)是一款基于android手機操作系統(tǒng)的軟

2、件。在手機這個移動平臺上,該軟件系統(tǒng)得展示了中國棗的各個品種,包括中國棗的文字介紹,圖片信息,視頻信息等。這些資源存儲在服務(wù)器端,用戶通過手機上網(wǎng)查看。作為中國棗管理系統(tǒng)的一部分,中國棗品種展示系統(tǒng)詳細介紹了數(shù)十個品種的大棗,信息資源豐富,操作簡潔。</p><p>  隨著移動互聯(lián)時代的到來,智能手機終端在我們的生活中扮演著越來越重要的角色,時刻影響著我們的日常生活。作為一次在移動終端的簡單嘗試,中國棗品種展示

3、系統(tǒng)試圖為果農(nóng)提供在手機上的信息展示和資訊發(fā)布。果農(nóng)只需打開手機,輕輕一點,即能從網(wǎng)絡(luò)中獲取豐富的信息資源,方便快捷。</p><p>  在設(shè)計實現(xiàn)方面,使用Eclipse+Android SDK平臺開發(fā)客戶端,結(jié)合Eclipse Web+Tomcat+MySql組成服務(wù)器端,運用Java語言,嘗試采用面向?qū)ο笙到y(tǒng)分析與設(shè)計方法,設(shè)計和實現(xiàn)本系統(tǒng)的各個模塊,最終整合成完整的應(yīng)用程序。</p>&l

4、t;p>  設(shè)計此程序的目的是希望能給需要此類信息的人們帶來方便,同時自己在完成此程序的過程中學(xué)到知識和經(jīng)驗。</p><p>  關(guān)鍵字:中國棗品種展示、Java、Android、Server、MySQL.</p><p><b>  Abstract</b></p><p>  Chinese jujube varieties dis

5、play system is a based on android mobile phone operating system software. In the mobile phone platform, the software system to show the Chinese jujube varieties of text is introduced, including the Chinese jujube image i

6、nformation and video information, etc. These resources are stored in the server side, the mobile phone users through the Internet to see. As part of the Chinese jujube management system, the Chinese jujube varieties disp

7、lay system of dozens of varietie</p><p>  With the advent of the era of mobile Internet, smart phones terminal in our life plays a more and more important role, moment affects our daily lives. In mobile term

8、inal as a simple attempt, Chinese jujube varieties display system attempts to show growers provide information on a mobile phone and information release. Growers need to open the phone, gently, namely can obtain abundant

9、 information resources from the network, fast and convenient.</p><p>  In the design implementation, using Eclipse+Android SDK development platform to develop the client, with Eclipse Web+Tomcat+MySql server

10、, using the Java language, try to use object oriented system analysis and design method of the various modules of this system design and implementation, eventually integrated into a full application.</p><p>

11、  Hope is the purpose of design this program can bring convenience to people need such information, at the same time their learned knowledge in the process of completion of the program and experience.</p><p>

12、;  Keywords: Chinese jujube varieties, Java,Android,Server,MySQL.</p><p><b>  目 錄</b></p><p><b>  1.緒論1</b></p><p><b>  1.1 前言1</b></p>

13、;<p>  1.2 課題研究的背景及意義1</p><p>  1.3國內(nèi)外研究概況與發(fā)展趨勢2</p><p>  1.4設(shè)計的主要工作2</p><p><b>  1.5論文組織3</b></p><p>  2.開發(fā)環(huán)境和開發(fā)技術(shù)4</p><p><b&g

14、t;  2.2系統(tǒng)結(jié)構(gòu)4</b></p><p>  2.2工具環(huán)境介紹4</p><p>  2.2.1 開發(fā)環(huán)境的選擇4</p><p>  2.2.2 Eclipse+Android SDK簡介4</p><p>  2.2.3 Tomcat+MySQL簡介5</p><p><b&g

15、t;  3.需求分析7</b></p><p>  3.1 設(shè)計思想7</p><p>  3.2 可行性分析7</p><p>  3.2.1經(jīng)濟可行性7</p><p>  3.2.2 技術(shù)可行性8</p><p>  3.2.3操作可行性8</p><p>  3.

16、3 性能需求8</p><p>  3.4 功能需求8</p><p>  3.4.1 用戶界面需求9</p><p>  3.4.2 邏輯跳轉(zhuǎn)需求9</p><p><b>  4.系統(tǒng)設(shè)計10</b></p><p>  4.1 總體結(jié)構(gòu)設(shè)計10</p><p&

17、gt;  4.1.1 系統(tǒng)設(shè)計基礎(chǔ)10</p><p>  4.1.2 模塊設(shè)計10</p><p>  4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計10</p><p>  4.2 數(shù)據(jù)庫設(shè)計13</p><p>  4.2.1 數(shù)據(jù)庫簡介13</p><p>  4.2.2 物理結(jié)構(gòu)設(shè)計14</p><

18、p><b>  5.系統(tǒng)實現(xiàn)16</b></p><p>  5.1客戶端界面設(shè)計16</p><p>  5.1.1 主界面截圖16</p><p>  5.1.2 主界面部分代碼16</p><p>  5.2第二層界面設(shè)計19</p><p>  5.2.1點擊“棗品種的分類

19、”19</p><p>  5.2.2點擊其他四個按鈕19</p><p>  5.3查看一張圖片的步驟20</p><p>  5.4播放視頻的步驟24</p><p>  5.5服務(wù)器端25</p><p><b>  6.系統(tǒng)測試25</b></p><p&g

20、t;  6.1打開服務(wù)器端26</p><p>  6.2客戶端查看26</p><p>  6.3.注意事項27</p><p><b>  7.結(jié)束語27</b></p><p><b>  參考文獻29</b></p><p><b>  1.緒論&

21、lt;/b></p><p><b>  1.1 前言</b></p><p>  近幾年隨著蘋果手機的熱賣,安卓手機占領(lǐng)市場,以及Window Phone的加快追趕,智能手機終端越來越普及;結(jié)合3G網(wǎng)絡(luò)的大力發(fā)展,移動互聯(lián)的時代已經(jīng)正式到來。此次把中國棗品種展示系統(tǒng)搬到android手機操作系統(tǒng)上,是對移動開發(fā)的一次簡單嘗試。寄希望于此次嘗試能夠熟悉andro

22、id移動平臺的開發(fā),綜合自己所學(xué)知識,運用到中國棗品種展示這個項目中來,同時期待自己有所突破和創(chuàng)新,最后能夠積累一定的移動開發(fā)經(jīng)驗。</p><p>  本項目通過四層頁面對眾多中國棗進行了分類和展示,包含每個品種的文字介紹和信息,圖片介紹以及視頻介紹。通過分別完成這幾個部分來實踐理論技術(shù)。</p><p>  1.2 課題研究的背景及意義</p><p>  棗起

23、源于中國,已有八千多年的種植歷史,自古以來就被列為“五果”(桃、李、梅、杏、棗)之一。棗富含眾多的營養(yǎng)成分,有維生素王之美稱,是人們食用和滋補的上佳材料。我國大棗的品種眾多,不同品種所需的種植條件,氣候需求有所不同,營養(yǎng)價值和食用的差異也有相應(yīng)的區(qū)別。建立一個中國棗品種的展示系統(tǒng),歸類整合各個品種大棗的信息,能夠有組織性系統(tǒng)性得發(fā)布給需要的人群,是一個值得努力的工作方向。</p><p>  智能手機逐漸在人民群

24、眾中普及,在移動平臺開發(fā)具有極其廣泛的市場,然而,眾多的應(yīng)用都圍繞人們的日常的娛樂生活來開發(fā),農(nóng)林方面的應(yīng)用鳳毛麟角,此次的項目是在這方面的一個嘗試,使人們可以通過手機方便得得到豐富的信息資源。</p><p>  然而以前學(xué)的知識多是理論性的,真正實踐的機會和成果屈指可數(shù),自己深知學(xué)習(xí)和運用之間的轉(zhuǎn)換猶如跨越深深的溝壑,存在巨大的難度遠不是想象中的程度。此時有機會在老師的指導(dǎo)下完成這樣一個將理論知識和實踐結(jié)合起

25、來的機會,在即將畢業(yè)走向社會之際,正是自己看清溝壑深度,積累這方面經(jīng)驗的最佳時機,無論最后的成果如何,都將使自己的能力有極大的提高。</p><p>  1.3 國內(nèi)外研究概況與發(fā)展趨勢</p><p>  在移動互聯(lián)領(lǐng)域,雖然目前這一風(fēng)暴正呼嘯席卷而來,處處影響著我們的生活,但最近業(yè)內(nèi)的形式并不是非常樂觀,發(fā)展趨勢不如前兩年那樣迅猛。然而瑕不掩瑜,移動互聯(lián)終究是未來互聯(lián)網(wǎng)發(fā)展的一個很重要

26、的方向和趨勢。國際方面,以蘋果和谷歌領(lǐng)跑的手機操作系統(tǒng)正日趨完善和人性化,相應(yīng)的應(yīng)用從手機商店就可窺見一斑。國內(nèi)方面,雖然手機應(yīng)用增長形式放緩,但同樣的移動操作系統(tǒng)已經(jīng)被移植到Pad,各種商場,展館和科研場所的觸摸顯示屏中,范圍廣泛市場寬廣,有很好的發(fā)展空間和前景。</p><p>  我國棗的研究處于世界領(lǐng)先地位,品種眾多且優(yōu)質(zhì)品種表現(xiàn)突出。我國幅員遼闊的特點為棗樹這種經(jīng)濟作物的栽培提供了寬廣的空間。棗樹對地勢

27、和土壤的要求不很嚴(yán)格,對土壤適應(yīng)性強,具有耐瘠薄,耐高溫,耐寒的特性,然而不同品種生長的條件間存在差異,并不能四處盲目擴栽。中國棗管理系統(tǒng)整合了不同品種間大棗的種植信息,作為該系統(tǒng)的組成部分,中國棗品種展示系統(tǒng)能有效的給果農(nóng)傳遞豐富的信息資源,指導(dǎo)果農(nóng)因地制宜的發(fā)展產(chǎn)業(yè)。</p><p>  1.4 設(shè)計的主要工作</p><p>  本系統(tǒng)包括手機客戶端模塊、服務(wù)器端模塊</p&g

28、t;<p>  手機客戶端方面,通過布局分類展示了新疆主栽品種、其他優(yōu)良制干品種、其他優(yōu)良鮮食品種、其他優(yōu)良加工品種等,每個大類分布所屬的具體棗品種,點擊查看每個品種具體的文字、圖片、視頻信息。</p><p>  服務(wù)器端存儲著這些文字、圖片、視頻的信息資料,通過網(wǎng)絡(luò)傳輸?shù)绞謾C客戶端展示出來。</p><p><b>  1.5 論文組織</b><

29、;/p><p>  論文全文共分為七章:</p><p>  第一章 緒論。主要介紹了論文選題的引言、對課題研究的背景及意義進行了分析,同時也對國內(nèi)外研究狀況及發(fā)展趨勢進行了介紹。</p><p>  第二章 開發(fā)環(huán)境和開發(fā)技術(shù)。</p><p><b>  第三章 需求分析。</b></p><p>

30、;<b>  第四章 系統(tǒng)設(shè)計。</b></p><p><b>  第五章 系統(tǒng)實現(xiàn)。</b></p><p>  第六章 系統(tǒng)測試。選取具有代表性的數(shù)據(jù)進行測試,保證系統(tǒng)正常運行。</p><p>  第七章 結(jié)束語。對系統(tǒng)實現(xiàn)過程進行了總結(jié)。</p><p>  2.開發(fā)環(huán)境和開發(fā)技術(shù)<

31、/p><p><b>  2.1 系統(tǒng)結(jié)構(gòu)</b></p><p>  本系統(tǒng)由于從服務(wù)器端傳輸數(shù)據(jù),因此可以通過服務(wù)器端的更新,及時、準(zhǔn)確得獲取最新的信息和資源。通過結(jié)構(gòu)化的設(shè)計,品種列表構(gòu)成一級頁面,文字信息構(gòu)成二級頁面,最后圖片視頻等信息組織成三級頁面,在結(jié)構(gòu)和使用上完成優(yōu)化。而在服務(wù)器端,通過數(shù)據(jù)庫存儲以及文件形式保存資源,形成和客戶端的呼應(yīng)。</p>

32、<p><b>  2.2工具環(huán)境介紹</b></p><p>  2.2.1 開發(fā)環(huán)境的選擇</p><p>  在服務(wù)器端和客戶端用到了不同的開發(fā)環(huán)境和工具,本系統(tǒng)開發(fā)與運行環(huán)境如下:</p><p><b>  開發(fā)環(huán)境:</b></p><p>  a.Windows 與 Li

33、nux下均可</p><p>  b.安裝配置Java JDK</p><p><b>  開發(fā)工具:</b></p><p>  a.客戶端:Eclipse中安裝Android SDK(Software Development Kit)插件</p><p>  b.服務(wù)器端:Eclipse-jee,安裝apache-t

34、omcat-6.0.36插件,電腦中安裝MySql數(shù)據(jù)庫</p><p>  在客戶端使用Eclipse集成開發(fā)環(huán)境運用Java語言完成android項目,服務(wù)器端通過使用動態(tài)Web項目操作MySql數(shù)據(jù)庫的形式完成。</p><p>  2.2.2 Eclipse+Android SDK簡介</p><p>  Eclipse 是一個開放源代碼的、基于Java的可

35、擴展開發(fā)平臺,由IBM倡議開發(fā),通過安裝插件組件構(gòu)建的集成開發(fā)環(huán)境。</p><p>  Android是谷歌(Google)公司推出的手機開發(fā)平臺,與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網(wǎng)功能,用戶能夠在手機上查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等,比iPhone等其他手機更強調(diào)搜索功能,界面更強大,可以說是一種融入全部Web應(yīng)用的單一平臺。</p>

36、;<p>  SDK(Software Development Kit)是軟件開發(fā)工具包,廣義上指輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合。他是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等創(chuàng)建應(yīng)用軟件的開發(fā)工具的集合,一般而言SDK即開發(fā)Windows平臺下的應(yīng)用程序所使用的SDK。它可以簡單的為某個程序設(shè)計語言提供應(yīng)用程序接口API的一些文件,但也可能包括能與某種嵌入式系統(tǒng)通訊的復(fù)雜的硬件。一

37、般的工具包括用于調(diào)試和其他用途的實用工具。SDK 還經(jīng)常包括示例代碼、支持性的技術(shù)注解或者其他的為基本參考資料澄清疑點的支持文檔。因此,Android SDK 指的是Android專屬的軟件開發(fā)工具包。</p><p>  其最震撼人心之處在于Android手機系統(tǒng)的開放性和服務(wù)免費。Android是一個對第三方軟件完全開放的平臺,開發(fā)者在為其開發(fā)程序時擁有更大的自由度,突破了iPhone等只能添加為數(shù)不多的固定

38、軟件的枷鎖;同時與Windows Mobile、Symbian等廠商不同,Android操作系統(tǒng)免費向開發(fā)人員提供,這樣可節(jié)省近三成成本,也具有更大的活力。</p><p>  2.2.3 TomCat+MySQL簡介</p><p>  Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apa

39、che、Sun 和其他一些公司及個人共同開發(fā)而成,是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,它運行時占用的系統(tǒng)資源小,擴展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,而且它還在不斷的改進和完善中,成為目前比較流行

40、的Web 應(yīng)用服務(wù)器。實際上Tomcat 部分是Apache 服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。</p><p>  目前Tomcat最新版本為7.0.39。</p><p>  MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)

41、庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版。</p><p>  目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎

42、的程度。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。</p><p><b>  3.需求分析</b></p><p><b>

43、  3.1 設(shè)計思想</b></p><p>  設(shè)計思想是項目開始的第一項工作,用來整體把握整個項目。</p><p>  設(shè)計客戶端程序:組織需要展示的數(shù)據(jù),分類整理,設(shè)計頁面UI布局。在開始頁面展示中國棗品種的列表,二層頁面展示每一種大棗的文字信息,第三層頁面展示圖片或視頻信息。</p><p>  設(shè)計服務(wù)器端:創(chuàng)建一個動態(tài)的Web項目,通過新建

44、一個Servlet來與客戶端交互,創(chuàng)建相應(yīng)的JavaBean,用于控制MySQL數(shù)據(jù)庫查詢數(shù)據(jù),并由Servlet發(fā)送到客戶端。在項目中保存圖片和視頻,通過網(wǎng)絡(luò)傳輸,找到每張圖片以及每個視頻文件的URL地址傳送到客戶端,展示在手機上。</p><p><b>  3.2 可行性分析</b></p><p>  可行性分析是系統(tǒng)分析階段的第二項活動,它的主要目是進一步明

45、確系統(tǒng)的目標(biāo)、規(guī)模與功能,對系統(tǒng)開發(fā)背景、必要性和意義進行了調(diào)查分析并根據(jù)需要和可能提出開發(fā)系統(tǒng)的初步方案與計劃。通過調(diào)查分析,本系統(tǒng)設(shè)計主要有以下三個可行性:</p><p>  3.2.1經(jīng)濟可行性</p><p>  此系統(tǒng)開發(fā)所需軟件工具:Eclipse,TomCat,MySQL均是開源工具,在網(wǎng)上都可以方便得下載到。</p><p>  開發(fā)需要在一臺個人

46、電腦上實現(xiàn),由于現(xiàn)在的個人電腦有著價格越來越低,配置和性能也越來越高的特點,而此項目的開發(fā)并不需要配置特別高的電腦作支持。所以有了設(shè)備和工具支持,開發(fā)本項目幾乎沒有物理成本,僅僅是簡單的人工成本,這樣開發(fā)此項目在經(jīng)濟可行性上成為可能。</p><p>  整個系統(tǒng)建設(shè)完成后會給果農(nóng)帶來強有力的技術(shù)和信息支持,為高效的種植和培養(yǎng)果樹,進而產(chǎn)出高產(chǎn)優(yōu)質(zhì)的果實提供了幫助,雖然回報周期長,但是系統(tǒng)的平臺行和高知識含量性印

47、證了科學(xué)強大的生產(chǎn)力。</p><p>  3.2.2 技術(shù)可行性</p><p>  客戶端的開發(fā)采用Java語言,在Windows或Linux系統(tǒng)中使用Eclipse平臺開發(fā)。結(jié)合平時所學(xué)知識,自己有著編寫過Java小項目和熟練使用Eclipse的經(jīng)驗,在技術(shù)上成為可行。Java是一種面向?qū)ο笳Z言,結(jié)合JavaBean 的使用,對于系統(tǒng)化的項目編寫有著獨特的優(yōu)勢,在稍大的系統(tǒng)當(dāng)中,Ja

48、va語言的面向?qū)ο笮再|(zhì)能方便得操作各類數(shù)據(jù),同時豐富的接口使得程序的擴展性和靈活性大大增加。使用系統(tǒng)或自定義類來完成工作,能夠?qū)崿F(xiàn)代碼的重用效率,有效減少代碼冗余。</p><p>  上述語言特性和 Eclipse 平臺的可擴展及強大的功能支持著開發(fā)的技術(shù)可行性。</p><p>  3.2.3 操作可行性</p><p>  客戶端簡潔的頁面和結(jié)構(gòu)清晰的布局,使

49、得在使用時非常方便,在操作上要求非常低,只需簡單的點擊對應(yīng)按鈕,就能獲取所需資源。就像平時觀看電視節(jié)目按動遙控器一般。 </p><p><b>  3.3 性能需求</b></p><p>  該軟件是安卓手機平臺軟件,需要一部安卓2.3及以上系統(tǒng)的手機。服務(wù)器端僅需簡單的Tomcat+MySQL組合的服務(wù)器。</p><p><b&g

50、t;  3.4 功能需求</b></p><p>  在系統(tǒng)的設(shè)計階段,明確了系統(tǒng)使用時操作要方便,界面要簡潔的特點,按照此原則,盡量做到人性化的界面布局和邏輯跳轉(zhuǎn)。</p><p>  3.4.1用戶界面需求</p><p>  使用簡約大方的背景,突出簡潔的特點;添加與背景對比度強烈的文字顏色,增大文字的字體,給人更美觀直白的視覺效果;適當(dāng)用圖片按鈕

51、代替文字按鈕,既能突出系統(tǒng)的主題,又使頁面不至于空洞枯燥。</p><p>  3.4.2 邏輯跳轉(zhuǎn)需求</p><p>  四級頁面的設(shè)計可以系統(tǒng)得組織資源的分類,在觀看時能夠感到結(jié)構(gòu)的清晰;在每個頁面角落布局返回按鈕,方便用戶前后頁面之間跳轉(zhuǎn)。</p><p><b>  4.系統(tǒng)設(shè)計</b></p><p>  4

52、.1 總體結(jié)構(gòu)設(shè)計</p><p>  4.1.1 系統(tǒng)基礎(chǔ)結(jié)構(gòu)</p><p>  把握系統(tǒng)的總體設(shè)計結(jié)構(gòu),首先將整個系統(tǒng)的架構(gòu)設(shè)計出來。其組織結(jié)構(gòu)圖如4-1所示。</p><p><b>  接受響應(yīng)返回數(shù)據(jù)</b></p><p><b>  發(fā)送請求</b></p><p

53、>  圖4-1系統(tǒng)組織結(jié)構(gòu)圖</p><p>  客戶端發(fā)送查看數(shù)據(jù)資料的請求,服務(wù)器端獲取請求后進行響應(yīng),并查找數(shù)據(jù)返回給客戶端。</p><p>  4.1.2 模塊設(shè)計</p><p>  作為網(wǎng)絡(luò)與客戶端相結(jié)合的系統(tǒng),此系統(tǒng)自然分為服務(wù)器端和客戶端兩個模塊。在客戶端,工作的方向是讓用戶使用時展現(xiàn)出簡潔的頁面,嚴(yán)謹(jǐn)?shù)奶D(zhuǎn)邏輯等特點,無論是操作還是觀看,都

54、體現(xiàn)出人性化的一面。如對比度強的背景與文字的組合,簡潔大方的頁面布局,方便得前后頁面之間的跳轉(zhuǎn)等等。</p><p>  而在服務(wù)器端,使用小型的TomCat搭配輕型MySQL數(shù)據(jù)庫的組合,既能完整的實現(xiàn)相關(guān)功能,同時保證了效率。建立Servlet和JavaBean,負(fù)責(zé)數(shù)據(jù)的管理,請求的響應(yīng)及數(shù)據(jù)的發(fā)送,構(gòu)成了完整的模塊。</p><p>  4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計</p>

55、<p>  1)客戶端如下圖所示:</p><p>  圖4-2 客戶端整體結(jié)構(gòu)圖</p><p>  A.初始頁面包含一個文字標(biāo)題按鈕(棗品種的分類)和四個圖片按鈕(其他四個),圖4-2展示了他們的結(jié)構(gòu)關(guān)系。</p><p>  圖4-3 客戶端分級頁面結(jié)構(gòu)圖</p><p>  B.圖4-3展示了程序的操作過程,每個頁面右上

56、角均布局了返回按鈕,可方便返回到上一級頁面。</p><p>  2)服務(wù)器端如下圖所示:</p><p>  圖4-4 服務(wù)器端結(jié)構(gòu)圖</p><p>  A.在服務(wù)器端,由JavaBean聯(lián)系和操作數(shù)據(jù)庫,在Servlet中調(diào)用JavaBean的方法和接口獲得數(shù)據(jù),在收到客戶端請求后將數(shù)據(jù)發(fā)送回去。</p><p>  圖4-5 服務(wù)器端

57、數(shù)據(jù)存儲結(jié)構(gòu)圖</p><p>  B.服務(wù)器端的數(shù)據(jù)分為兩類:文本數(shù)據(jù)存儲在數(shù)據(jù)庫中,通過操作數(shù)據(jù)庫查詢出來;文件類的數(shù)據(jù)——包括圖片文件和視頻文件,直接存儲在所建的Web項目中,通過每個數(shù)據(jù)對應(yīng)的URL地址來一一對應(yīng),進而發(fā)送到客戶端。</p><p>  3)數(shù)據(jù)傳輸示意圖如圖4-6所示:</p><p>  客戶端得到圖片

58、 通過對MySQL數(shù)據(jù)庫</p><p>  或視頻的URL地址 的操作,由Servelt發(fā)送</p><p>  圖4-6 數(shù)據(jù)傳輸結(jié)構(gòu)圖</p><p>  如上圖,文本和圖片視頻的傳輸形式不同。</p><p><b>  4.2 數(shù)據(jù)庫設(shè)計</b></p>

59、<p>  4.2.1 數(shù)據(jù)庫簡介</p><p>  數(shù)據(jù)庫是長期儲存在計算機內(nèi)大量的有組織的,可以共享的數(shù)據(jù)的集合,在服務(wù)器端的數(shù)據(jù)中,有一部分是以數(shù)據(jù)庫的形式存儲起來的,數(shù)據(jù)庫中的屬性和JavaBean的組合構(gòu)成了靈活強大的操作方法。通過組織數(shù)據(jù)庫中的數(shù)據(jù),有效的和每一個品種的大棗一一對應(yīng)起來。同時,數(shù)據(jù)庫中還存儲著每個品種大棗的圖片和視頻的名稱,擔(dān)負(fù)起了組織數(shù)據(jù)的重要任務(wù)。</p>

60、<p>  4.2.2 物理結(jié)構(gòu)設(shè)計</p><p>  在服務(wù)器端,根據(jù)文件有無對應(yīng)的視頻文件需要播放,創(chuàng)建了兩個數(shù)據(jù)庫表。兩個表的屬性稍有不同,如下表所示:</p><p>  (1)棗品種的分類(有視頻文件對應(yīng))表名稱:variety</p><p><b>  建表SQL語句:</b></p><p>

61、;  Create table variety(id int(11) primary key auto_increment,</p><p>  name varchar(50),contentText varchar(5000),pic varchar(50),</p><p>  video varchar(50),biename varchar(50));</p>&l

62、t;p>  表variety屬性與字段如表4-1所示:</p><p>  表4-1 variety的屬性表</p><p>  Variety表中的數(shù)據(jù)表:</p><p>  表4-2 variety數(shù)據(jù)表</p><p> ?。?)其他棗品種(無對應(yīng)播放的視頻文件)表名稱:xinjiang</p><p>

63、<b>  建表SQL語句:</b></p><p>  Create table xinjiang(id int(11) primary key auto_increment,</p><p>  name varchar(50),contentText varchar(5000),pic varchar(50),</p><p>  bie

64、name varchar(50));</p><p>  表xinjiang屬性與字段表如4-3所示:</p><p>  表4-3 xinjiang屬性表</p><p>  xinjiang表中的數(shù)據(jù)表如4-4所示:</p><p>  表4-4 xinjiang數(shù)據(jù)表</p><p><b>  5.系

65、統(tǒng)實現(xiàn)</b></p><p>  5.1客戶端界面的設(shè)計</p><p>  5.1.1主界面截圖</p><p>  系統(tǒng)主頁面如圖5-1所示:</p><p>  圖5-1 客戶端初始頁面</p><p>  5.1.2主界面部分代碼</p><p>  實現(xiàn)的代碼篩選如下:&

66、lt;/p><p>  A.項目res/layout文件夾下activity_main.xml文件是主界面的配置文件</p><p><b>  <TextView</b></p><p>  android:id="@+id/textTitle_main"</p><p>  android:la

67、yout_width="fill_parent"</p><p>  android:layout_height="wrap_content"</p><p>  android:gravity="center"</p><p>  android:textSize="30sp"<

68、/p><p>  android:layout_marginTop="10dp"</p><p>  android:textColor="#FFD700"</p><p>  android:text="@string/hello" /></p><p>  <GridVi

69、ew </p><p>  android:id="@+id/gridView_main"</p><p>  android:layout_width="fill_parent"</p><p>  android:layout_height="fill_parent"</p><p&

70、gt;  android:numColumns="1"</p><p>  android:layout_marginLeft="15dp"</p><p>  android:layout_marginRight="15dp"</p><p>  android:layout_marginBottom=&

71、quot;10dp"</p><p>  android:layout_marginTop="5dp"</p><p>  android:gravity="center_vertical"</p><p>  android:verticalSpacing="10dp"</p>&

72、lt;p>  android:stretchMode="columnWidth"></p><p>  </GridView></p><p>  其中TextView對應(yīng)棗品種的分類,GridView對應(yīng)其余四個文本與圖片按鈕</p><p>  B.上述組件的實現(xiàn)和單擊方法代碼如下:</p><p&

73、gt;  1).class GridViewAdapter extends BaseAdapter{</p><p>  private int[] images = {R.drawable.xinjiang,R.drawable.zhigan,</p><p>  R.drawable.xianshi,R.drawable.jiagong};</p><p>  

74、Drawable drawable = getResources()</p><p>  .getDrawable(R.drawable.xinjiang);</p><p>  private int[] text = {R.string.xinjiang,R.string.zhigan,</p><p>  R.string.xianshi,R.string.j

75、iagong};</p><p>  LayoutInflater inflater = LayoutInflater</p><p>  .from(getApplicationContext());</p><p>  public int getCount() {</p><p>  return images.length;</

76、p><p><b>  }</b></p><p>  public View getView(int position,View </p><p>  convertView ViewGroup parent){</p><p>  if (convertView == null) {</p><p&g

77、t;  convertView = View.inflate(getApplicationContext(),</p><p>  R.layout.item_main, null);}</p><p>  TextView tv = (TextView)convertView</p><p>  .findViewById(R.id.textView_item_m

78、ain);</p><p>  tv.setText(text[position]);</p><p>  ImageView iv = (ImageView)convertView</p><p>  .findViewById(R.id.imageView_item_main);</p><p>  iv.setScaleType(Ima

79、geView.ScaleType.CENTER_CROP);</p><p>  iv.setPadding(7, 7, 7, 7);</p><p>  iv.setImageResource(images[position]);</p><p>  return convertView;}}</p><p>  上述方法為在GridVie

80、w中設(shè)置圖片和文字的適配器方法。</p><p>  2).OnItemClickListener click = new OnItemClickListener() {</p><p>  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,</p><p>  long a

81、rg3) {switch (arg2) {}};</p><p>  上述方法為給GridView的每個item選項添加單擊事件監(jiān)聽的方法</p><p>  5.2第二層界面的設(shè)計</p><p>  5.2.1點擊“棗品種的分類” </p><p>  程序跳轉(zhuǎn)到“大棗簡介”頁面,如圖5-2所示:</p><p>

82、  圖5-2 大棗簡介頁面</p><p>  5.2.2點擊其他四個圖片按鈕</p><p>  以操作時點擊四個按鈕的不同,程序跳轉(zhuǎn)到四個不同的頁面(新疆、加工、鮮食、制干)如圖5-3所示:</p><p>  圖5-3 其余四個頁面 </p><p>  5.3查看一張圖片的步驟</p><p>  第一步:進入

83、到上述五張圖片的位置</p><p>  第二步:點擊大棗品種列表</p><p>  以“大棗簡介”頁面為例代碼:</p><p>  listView.setOnItemClickListener(listener);</p><p>  OnItemClickListener listener = new OnItemClickList

84、ener() {</p><p><b>  @Override</b></p><p>  public void onItemClick(AdapterView<?> parent, </p><p>  View view, int position,long id) {</p><p>  Inten

85、t intent = new Intent(VarietyActivity.this,</p><p>  ShowTwoActivity.class);</p><p>  switch (position) {</p><p><b>  case 0:</b></p><p>  intent.putExtra(&

86、quot;jianjie", "jianjie");</p><p>  startActivity(intent);</p><p><b>  break;</b></p><p><b>  case 1:</b></p><p>  intent.putExtr

87、a("chahu", "chahu");</p><p>  startActivity(intent);</p><p><b>  break;</b></p><p><b>  default:</b></p><p>  break;}}};<

88、/p><p>  如點擊“茶壺棗”,進入茶壺大棗信息展示頁面,如圖5-4所示:</p><p>  圖5-4 茶壺大棗信息介紹</p><p>  第三步:單擊底部“查看圖片”按鈕:</p><p><b>  部分代碼如下:</b></p><p>  public static final Str

89、ing URL = "http://192.168.1.127</p><p>  :8088/ApplicationServer/";URL地址</p><p>  class MyThread extends Thread {</p><p>  public void run() {</p><p>  Messag

90、e msg = Message.obtain();</p><p>  Bundle bundle = new Bundle();</p><p>  String getString = null;</p><p>  if(chahu!=null&&chahu.equals("chahu")){</p><

91、p>  getString = connect(chahu);</p><p>  bundle.putString("msg", getString);</p><p>  msg.what = 0;</p><p>  msg.setData(bundle);</p><p>  handler.sendMess

92、age(msg);}}}</p><p>  創(chuàng)建一個線程,用于從服務(wù)器端傳輸數(shù)據(jù)</p><p>  public String connect(String str) {</p><p>  List<NameValuePair> list = new ArrayList<NameValuePair>();</p><

93、p>  NameValuePair v = new BasicNameValuePair("type", str);</p><p>  list.add(v);</p><p>  String getString = HttpUtil.getMsgFromServer</p><p>  (URL+"VarietyServle

94、t", list);</p><p>  return getString;</p><p>  }取得和服務(wù)器端的聯(lián)系</p><p>  public void fillVariety(String getString) {</p><p>  gson = new Gson();</p><p>  v

95、ariety = gson.fromJson(getString,Variety.class);</p><p>  tv.setText(variety.getContentText());</p><p>  }接收從服務(wù)器端傳回的數(shù)據(jù),放在variety類中</p><p><b>  圖片展示頁面代碼:</b></p>&

96、lt;p>  private void getPic(String strPic) {</p><p>  HttpGet httpRequest = new HttpGet(imageUrl + strPic);</p><p>  HttpClient httpclient = new DefaultHttpClient();</p><p>  try

97、{HttpResponse httpResponse = </p><p>  httpclient.execute(httpRequest);</p><p>  if (httpResponse.getStatusLine().getStatusCode() == </p><p>  HttpStatus.SC_OK) {</p><p&g

98、t;  HttpEntity httpEntity = httpResponse.getEntity();</p><p>  InputStream is = httpEntity.getContent();</p><p>  Bitmap bitmap = BitmapFactory.decodeStream(is);</p><p>  is.close()

99、;</p><p>  iv.setImageBitmap(bitmap);</p><p><b>  }</b></p><p>  } catch (ClientProtocolException e) {</p><p>  e.printStackTrace();</p><p>  }

100、 catch (IOException e) {</p><p>  e.printStackTrace();}}</p><p>  接收服務(wù)器端傳回的數(shù)據(jù),解析成bitmap圖片展示出來</p><p><b>  如圖5-5所示:</b></p><p>  圖5-5 展示圖片頁面</p><p

101、>  5.4查看視頻的步驟</p><p>  第一步:以“茶壺大棗”為例,進入“茶壺大棗”信息展示頁面</p><p>  第二步:點擊屏幕下方的“查看視頻按鈕”,進入視頻播放頁面。如圖5-6 所示:</p><p>  圖5-6 播放視頻頁面</p><p><b>  部分代碼:</b></p>

102、<p>  Uri uri = Uri.parse(ShowTwoActivity.</p><p>  URL+videoString+".mp4");</p><p>  videoView.setMediaController(new MediaController(this));</p><p>  videoView.set

103、VideoURI(uri);</p><p>  videoView.setOnPreparedListener(this);</p><p>  videoView.start();</p><p>  videoView.requestFocus();</p><p><b>  5.5 服務(wù)器端</b></p

104、><p>  以“茶壺棗為例”展示:</p><p><b>  部分代碼如下:</b></p><p>  protected void doPost(HttpServletRequest request,</p><p>  HttpServletResponse response) throws</p>

105、<p>  ServletException, IOException {</p><p>  response.setHeader("Content-Type", "application/json;</p><p>  charset=UTF-8");</p><p>  request.setCharacter

106、Encoding("GBK");</p><p>  response.setCharacterEncoding("GBK");</p><p>  PrintWriter out = response.getWriter();</p><p>  String getString = request.getParameter

107、("type");</p><p>  Gson gson = new Gson();</p><p>  VarietyDao dao = new VarietyDaoImpl();</p><p>  if(getString!=null&&getString.equals("chahu")){</p

108、><p>  Variety v = dao.query(getString);</p><p>  System.out.println(v);</p><p>  String json = gson.toJson(v); out.print(json);</p><p>  } out.close();}</p><p&

109、gt;  通過JavaBean實現(xiàn)類VarietyDaoImpl操作數(shù)據(jù)庫,查詢結(jié)果置于對象之中,通過Gson發(fā)送到客戶端。</p><p><b>  6.系統(tǒng)測試</b></p><p>  系統(tǒng)主要模塊設(shè)計已經(jīng)完成,其他相應(yīng)功能待需要時進行擴展,現(xiàn)就已完成功能進行測試</p><p>  6.1 打開服務(wù)器端 </p>&l

110、t;p>  使用Eclipse EE,將服務(wù)器端代碼在Tomcat服務(wù)器上運行。在代碼運行過程中,客戶端隨時可以訪問到服務(wù)器端的數(shù)據(jù)。在MySQL數(shù)據(jù)庫中,需要插入想要查看的數(shù)據(jù)信息,同時存在對應(yīng)的圖片、視頻文件,客戶端才能夠查看得到。</p><p><b>  6.2 客戶端查看</b></p><p>  此時手機需要打開網(wǎng)絡(luò)連接,以便連接到服務(wù)器。點擊運

111、行應(yīng)用程序,以查看茶壺棗為例,點擊初始頁面的“棗品種的分類”按鈕,跳轉(zhuǎn)頁面后點擊“茶壺棗”的選項。</p><p>  這時客戶端與服務(wù)器端的通信開始,客戶端發(fā)送查看“茶壺棗”的請求,服務(wù)器端接受請求,并根據(jù)標(biāo)識開始在數(shù)據(jù)庫中查找“茶壺棗”的相關(guān)信息,然后將數(shù)據(jù)庫查詢結(jié)果返回到Servlet上,以“茶壺棗”所在的variety類的一個對象暫時存儲這些信息。</p><p>  服務(wù)器端響應(yīng)

112、后開始返回數(shù)據(jù),客戶端同樣用variety的一個對象接收數(shù)據(jù),然后將結(jié)果展示出來。</p><p>  查看圖片和視頻的流程與上述相同,只需在展示文字信息頁面的下方點擊“查看圖片”或“查看視頻”按鈕即可</p><p>  結(jié)果截圖如下6-1所示:</p><p>  圖6-1 測試結(jié)果截圖</p><p><b>  6.3 注意

113、事項</b></p><p>  在測試過程中,第一點需要注意的是手機的上網(wǎng)速度問題,如在查看文字信息時,網(wǎng)速不快也可以從服務(wù)器端獲取到信息,而在查看視頻時,由于不是實時播放的機制,需要視頻有一定的緩沖才可以流暢播放,而此時網(wǎng)速慢得話,會對測試質(zhì)量和結(jié)果有很大的影響。</p><p>  第二點是注意測試時要查看的大棗品種所對應(yīng)的信息已經(jīng)在服務(wù)器端的數(shù)據(jù)庫中插入,對應(yīng)的文件也已

114、經(jīng)存在。否則將不能展示。</p><p><b>  7.結(jié)束語</b></p><p>  轉(zhuǎn)眼間即將畢業(yè)了,在這個時刻總會有一些不舍,一是自己學(xué)到的東西太少,對比以后將邊工作邊自我學(xué)習(xí)的日子,很懷念這樣全日制學(xué)習(xí)的時刻;二是這里有很多我們敬愛的老師和可愛的同學(xué)們。畢業(yè)設(shè)計成為了大學(xué)階段最后的學(xué)習(xí)標(biāo)記,同時也是檢驗自我、增長經(jīng)驗的難得機會與體驗。</p>

115、<p>  在完成畢業(yè)設(shè)計的過程中,每一次成功和進步都是寶貴的財富。只有自己從頭到尾從選題、設(shè)計、查找資料、逐步完成,一步一步走過來,才能切實發(fā)現(xiàn)自己的不足。而每次遇到困難,想辦法自我攻克難題,才有長足的進步。</p><p>  這次畢業(yè)設(shè)計使我能夠靜下心來,集中注意力工作,逐漸讓我養(yǎng)成了良好的面對bug的心態(tài)和編寫程序的習(xí)慣,受益匪淺。同時漸漸掌握了自己的一套編寫代碼,改正錯誤的流程,成長很大。

116、第三是端正了自己的心態(tài),認(rèn)識到自己的不足,同時有信心能夠做得更好。</p><p>  在此要感謝周老師對我悉心的指導(dǎo),感謝老師給我的幫助和很多建議。</p><p><b>  參考文獻</b></p><p>  [1]. 互動百科,task.baike.com。</p><p>  [2]. 百度百科,baike.

117、baidu.com</p><p>  [3]. Android API,谷歌公司發(fā)布。</p><p>  [4]. 作者:(美)昊斯特曼 著,葉乃文,鄺勁筠,杜永萍 譯</p><p>  《JAVA核心技術(shù) 卷一:基礎(chǔ)知識》SUN公司核心技術(shù)叢書</p><p>  出版社:機械工業(yè)出版社。</p>&

118、lt;p>  [5]. 作者:孫晨霞 楊興運 《Java程序設(shè)計》 出版社:中國計劃出版社。</p><p>  [6]. 作者:郭宏志 《Android應(yīng)用開發(fā)詳解》 出版社:電子工業(yè)出版社。</p><p>  [7]. 作者:孫晨霞 《數(shù)據(jù)庫應(yīng)用技術(shù)》 出版社:北京郵電大學(xué)出版社。</p><p>  [8

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論