Android課程設(shè)計.doc_第1頁
Android課程設(shè)計.doc_第2頁
Android課程設(shè)計.doc_第3頁
Android課程設(shè)計.doc_第4頁
Android課程設(shè)計.doc_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

移動互聯(lián)網(wǎng)開發(fā)課程設(shè)計報告學(xué)生姓名: 余安慧 學(xué) 號: 031440407 專 業(yè):計算機(jī)科學(xué)與技術(shù) 班 級: 0314404 設(shè)計題目: 茶百科 學(xué)年學(xué)期: 2016 年 秋 季學(xué)期 指導(dǎo)教師: 張華 目 錄 一、設(shè)計題目1二、設(shè)計目的1三、設(shè)計原理及方案11使用的軟件工具和環(huán)境12需求分析與概要設(shè)計23數(shù)據(jù)庫設(shè)計34詳細(xì)設(shè)計和關(guān)鍵問題5四、實現(xiàn)效果13五、設(shè)計體會16參 考 文 獻(xiàn)17 一、 設(shè)計題目茶百科二、 設(shè)計目的隨著智能手機(jī)一步步走進(jìn)普通人的生活,它將成為人們獲取信息的主要設(shè)備。因此,手機(jī)的應(yīng)用服務(wù)將會有很大的發(fā)展空間,手機(jī)茶百科軟件就是其中的一項。Android平臺提供給用戶非常方便的茶百科查詢功能,這將為茶百科查詢服務(wù)的設(shè)計與實現(xiàn)提供了更好的平臺。另外,Android平臺基本上是免費(fèi)的,所以能夠有效降低軟件的成本,最終讓每個用戶能夠自由地獲取信息,也為手機(jī)茶百科查詢服務(wù)的普及做出貢獻(xiàn)。本文對目前應(yīng)用的Symbian、WindowsMobile、MacOSX和RIM等平臺的現(xiàn)狀進(jìn)行了分析與比較。進(jìn)而研究分析了Android平臺的系統(tǒng)架構(gòu)和組件模型,接著解析了Android中的重要API和應(yīng)用構(gòu)成。主要應(yīng)用了數(shù)據(jù)庫,碎片,圖片緩存等技術(shù),在此基礎(chǔ)上,基于Android平臺設(shè)計和開發(fā)手機(jī)茶百科查詢軟件。本系統(tǒng)界面友好、操作便捷,具有良好的可擴(kuò)展性和可維護(hù)性;系統(tǒng)經(jīng)過測試,可以穩(wěn)定運(yùn)行,能夠滿足手機(jī)用戶的基本需求。通過設(shè)計開發(fā)茶百科安卓客戶端,綜合訓(xùn)練安卓系統(tǒng)開發(fā)能力,進(jìn)一步提升對安卓程序開發(fā)及運(yùn)行的理解和認(rèn)識,復(fù)習(xí)、鞏固java語言的基礎(chǔ)知識,進(jìn)一步加深對java語言的理解和掌握,搭建一個完整的安卓開發(fā)環(huán)境。為學(xué)生提供了一個既動手又動腦,獨(dú)立實踐的機(jī)會,開發(fā)出界面與功能都有特色的安卓應(yīng)用軟件。三、 設(shè)計原理及方案1 使用的軟件工具和環(huán)境(1)PC計算機(jī) (2)JDK安裝包 :JDK是Java語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個java開發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境,JAVA工具和JAVA基礎(chǔ)的類庫(3)Eclipse安裝包:是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境(4)AndroidSDK安裝包:AndroidSDK指的是Android專屬的軟件開發(fā)工具包(5)ADT插件:使用Eclipse進(jìn)行android應(yīng)用開發(fā)需要給Eclipse裝ADT件,這樣Eclipse就可以和androidsdk建立連接2 需求分析與概要設(shè)計 “茶百科”應(yīng)用的功能需求是這樣的:1.首頁界面:在首頁界面有頭條、百科、咨詢、經(jīng)營、數(shù)據(jù)五個業(yè)務(wù)需求頁面,用戶可以在這五個頁面中獲得茶信息。頭條:是關(guān)于茶的最新信息,用戶能獲得最新的茶信息。百科:是關(guān)于茶的各種信息,用戶可以隨便看。咨詢:是關(guān)于茶的一些做法,存儲方法等信息,提供給用戶咨詢。經(jīng)營:是關(guān)于茶葉買賣如何經(jīng)營的信息,提供給用戶學(xué)習(xí)。數(shù)據(jù):是關(guān)于茶的一些經(jīng)營統(tǒng)計數(shù)據(jù)信息,讓用戶了解。2.抽屜界面:在這個頁面可以進(jìn)行搜索,我的收藏,瀏覽記錄,版本信息,意見反饋等功能實現(xiàn)。搜索:用戶希望快速得到某年或者某類茶的信息,進(jìn)行搜索顯示。我的收藏:用戶查看了某條茶信息,覺得很好,進(jìn)行收藏。分享:用戶查看了某條信息,覺得很好,分享給一些社交應(yīng)用上的好友。版本信息:讓用戶了解該應(yīng)用的版本信息。意見反饋:用戶有意見或建議可以在此進(jìn)行反饋。瀏覽記錄:用來保存用戶都瀏覽過哪些界面,方便用戶回看。根據(jù)這些業(yè)務(wù)需求,可畫出功能模塊流程圖如圖1所示: 圖1 功能模塊流程圖“茶百科”軟件只是一款便于用戶查找有關(guān)茶的信息的應(yīng)用軟件,經(jīng)過功能流程的分析,可得出其功能需求如下:1、首頁界面:這里面包含頭條、百科、咨詢、經(jīng)營、數(shù)據(jù)五個頁面。頭條是顯示茶的最新信息內(nèi)容,百科是顯示茶的各種信息內(nèi)容,咨詢是顯示茶的一些做法,存儲方法等內(nèi)容,經(jīng)營是顯示茶葉買賣如何經(jīng)營內(nèi)容,數(shù)據(jù)時顯示茶的一些經(jīng)營統(tǒng)計數(shù)據(jù)內(nèi)容。然而這些功能需求的目的都是為了用戶能夠方便的獲取查看和茶有關(guān)的信息。2、抽屜界面:在這個頁面可以進(jìn)行搜索,顯示搜索結(jié)果,可以查看自己的收藏內(nèi)容,可以查看版本信息,顯示版本信息頁面,進(jìn)行意見反饋,顯示提交結(jié)果。3 數(shù)據(jù)庫設(shè)計在本應(yīng)用軟件中,有三個地方需要存儲數(shù)據(jù)。第一處是:頭條、百科、咨詢、經(jīng)營、數(shù)據(jù)這五個界面中的內(nèi)容需要存儲數(shù)據(jù),它們都需要存儲title(標(biāo)題)、source(數(shù)據(jù)來源出自哪里)、description(內(nèi)容描述)、wap_thumb(圖片)、create_time(創(chuàng)建時間)、nickname(名稱)、category(種類,是指數(shù)據(jù)為頭條,百科,資訊,經(jīng)營,數(shù)據(jù),用于區(qū)分是哪一種數(shù)據(jù)),所以該處取名為:Maindata。第二處是:頭條這個界面的網(wǎng)絡(luò)圖片顯示需要存儲關(guān)于圖片數(shù)據(jù),有title(標(biāo)題)、name(名稱)、link(連接)、content(內(nèi)容)、image(圖片1)、image_s(圖片2),所以該處取名為:Viewpagerinfo。第三處是:在抽屜界面中我的收藏那里需要保存數(shù)據(jù),有title(標(biāo)題)、source(數(shù)據(jù)來源出自哪里)、description(內(nèi)容描述)、wap_thumb(圖片)、create_time(創(chuàng)建時間)、nickname(名稱),所以該處取名為:Collect。根據(jù)以上分析可以得出以下實體:1、Maindata實體:其屬性有title、source、description、wap_thumb、create_time、nickname、category,如圖2所示: 圖2 Maindata實體圖2、Viewpagerinfo實體:其屬性有title、name、link、content、image、image_s,如圖3所示: 圖3 Viewpagerinfo實體圖3、Collect實體:其屬性有title、source、description、wap_thumb、create_time、nickname,如圖4所示: 圖4 Collect實體圖4 詳細(xì)設(shè)計和關(guān)鍵問題 在程序開發(fā)階段,首先確定“Android平臺茶百科軟件”的工程名MyTea,跟據(jù)程序模塊設(shè)計的內(nèi)容,建立MyTea工程。MyTea工程結(jié)構(gòu)圖如5所示: 圖5 工程結(jié)構(gòu)圖在工程中我們可以看到應(yīng)用程序目錄結(jié)構(gòu)(1)src,在這個包內(nèi)放的是源代碼;(2)gen,是自動生成的res資源文件類R;(3)assets,是放置的資源文件不再R類中生成;(4)bin,是編譯后的class文件等目錄;(5)libs,是存放項目中的第三方類庫;(6)res包,在這個包中放的是xml布局文件、圖片和其他格式文件等;(7)AndroidManifest.xml這個清單文件很重要,需要在這個文件中注冊所用的四大組件(Activity、Service、IntentReceiver、ContentProvider),聲明應(yīng)用包名和應(yīng)用版本號,用戶權(quán)限使用聲明,硬件訪問聲明,還有指定編譯環(huán)境SDK版本信息等,不然應(yīng)用程序運(yùn)行不了。src包中所涉及的內(nèi)容如圖6所示:實現(xiàn)技術(shù):(1)歡迎界面(view+viewpager),使用ViewPager+view來實現(xiàn)屏滑動。我們可以用一個容器來形容ViewPager,在ViewPager中存放多個view,然后在Activity中添加view存放在list集合中然后用適配器,來實現(xiàn)屏幕的滑動。(2)UI中首頁上方Tab,和其對應(yīng)Fragment;點(diǎn)擊ListView對應(yīng)的Activity(3)側(cè)滑界面(Fragment+ViewPager+DrawLayout+Activity),其中DrawLayout是指抽屜效果,當(dāng)用戶點(diǎn)擊時出現(xiàn)抽屜的效果。(4)獲取網(wǎng)絡(luò)數(shù)據(jù),HTTP聯(lián)網(wǎng)下載數(shù)據(jù),Json解析數(shù)據(jù),HTTP是web瀏覽器和服務(wù)用來交換信息的一種Internet應(yīng)用協(xié)議,該協(xié)議允許用戶使用一個客戶端程序通過URL在web服務(wù)器上檢索文本、圖像、聲音等信息。JSON,全稱是JavaScriptObjectNotation,是一種輕量級的數(shù)據(jù)交換格式,主要用于跟服務(wù)器進(jìn)行交換數(shù)據(jù)。(5)本地數(shù)據(jù)庫存儲SQLite,在Android中,相關(guān)的SQLite數(shù)據(jù)庫的庫文件已經(jīng)被放入Android系統(tǒng)平臺的底層庫文件,因此,我們可以直接通過相關(guān)的API來調(diào)用,從而實現(xiàn)數(shù)據(jù)庫的各種功能。(6)xml布局,xml文檔是文本文件,在這用來存儲布局文件。(7)PullToRefresh下拉更新下載,下拉頁面的時候,頁面會更新加載據(jù)。詳細(xì)設(shè)計:1.歡迎界面 歡迎界面是由三張圖片構(gòu)成,可以滑動。這是由fragment和viewpager實現(xiàn)布局,圖片上的圓點(diǎn)跟著圖片的滑動而變化這是在Activity中的代碼實現(xiàn)的,然后從最后一張圖片點(diǎn)擊跳轉(zhuǎn)進(jìn)入頭條首頁界面。下面是實現(xiàn)上述功能的代碼及效果圖如圖7,圖8所示: 圖7 跳轉(zhuǎn)前圖 圖8 跳轉(zhuǎn)后圖2. 首頁界面模塊首頁界面:有頭條、百科、咨詢、經(jīng)營、數(shù)據(jù)五個界面,都包含網(wǎng)絡(luò)獲取數(shù)據(jù),下拉更新內(nèi)容,返回和收藏功能,由歡迎界面進(jìn)入的首頁,首頁界面上方有個三張圖片的動畫效果,在這個頁面,可以上下滑動,點(diǎn)擊每個列表,你可以進(jìn)入具體的茶信息頁面,在這個頁面,點(diǎn)擊收藏,會告知收藏成功,點(diǎn)擊返回,回到頭條界面,然后進(jìn)行其他頁面操作,可以點(diǎn)擊那些標(biāo)題進(jìn)入其他頁面,也可以側(cè)滑頁面進(jìn)入。1、網(wǎng)絡(luò)獲取數(shù)據(jù)網(wǎng)絡(luò)獲取數(shù)據(jù):判斷是否有網(wǎng)絡(luò),在有網(wǎng)絡(luò)的情況下,獲取那些關(guān)于茶的信息。在沒有網(wǎng)絡(luò)的情況下如效果圖9所示,在有網(wǎng)絡(luò)的情況下如效果圖10所示: 圖9 無網(wǎng)絡(luò)圖 圖10 有網(wǎng)絡(luò)圖實現(xiàn)網(wǎng)絡(luò)獲取數(shù)據(jù)功能,首先根據(jù)服務(wù)端給的接口,實現(xiàn)聯(lián)網(wǎng),以下是接口路徑與網(wǎng)絡(luò)下載實現(xiàn)代碼:3. 返回返回:返回上一級頁面。當(dāng)進(jìn)入二級頁面瀏覽完頁面信息時,需要返回上一級頁面時,實現(xiàn)這個返回界面時的效果圖如圖11,圖12所示: 圖11 返回前圖 圖12 返回后圖實現(xiàn)返回功能的部分代碼如下: 4、收藏收藏:把需要的茶信息收藏到我的收藏中,便于下次直接查看。當(dāng)用戶看到感興趣的茶信息時,為了下次方便找出來,所以進(jìn)行收藏在我的收藏里出現(xiàn),這部分也就是使用數(shù)據(jù)庫存儲數(shù)據(jù),實現(xiàn)的效果圖如圖13,圖14所示: 圖13 進(jìn)行收藏圖 圖14 顯示收藏圖實現(xiàn)數(shù)據(jù)存儲的功能代碼如下:5.抽屜實現(xiàn)部分抽屜界面:包含搜索、我的收藏、查看訪問記錄、版本信息和意見反饋功能模塊。點(diǎn)擊抽屜按鈕,向左彈出一個抽屜頁面,在這個頁面上有搜索、我的收藏、查看訪問記錄、版本信息和意見反饋,再點(diǎn)擊抽屜按鈕,退出此頁面。實現(xiàn)抽屜效果,我們需要在布局文件中用DrawerLayout布局,然后在代碼中實現(xiàn)監(jiān)聽事件,效果圖如圖15所示: 圖15 實現(xiàn)效果圖6. 搜索設(shè)置關(guān)鍵字,搜索存入數(shù)據(jù)庫中的內(nèi)容,先判斷輸入的是否是關(guān)鍵字,如果是就顯示相關(guān)的頁面,如果不是就無顯示。顯示效果圖如圖16、圖17所示: 圖16 搜索成功 圖17 搜索失敗7.版本信息版本信息是顯示這個應(yīng)用軟件版本權(quán)限信息,點(diǎn)擊,顯示版本信息,但這只是一個靜態(tài)頁面,實現(xiàn)的效果圖如圖18所示: 圖18 版本信息圖8.意見反饋意見反饋是用戶對軟件提出的意見,進(jìn)行提交然后得到反饋,但是由于能力有限,只做了個頁面,頁面的顯示效果如圖19所示,及代碼實現(xiàn)如下: 圖19 意見反饋圖四、 實現(xiàn)效果1、歡迎頁面 從第一個界面向左滑動進(jìn)入第二個界面,再向左滑動進(jìn)入第三個頁面,然后點(diǎn)擊“立即體驗”進(jìn)入帶導(dǎo)航的首頁,如圖5所示: 圖5 歡迎界面2、首頁界面左圖為頭條模塊的首頁,右圖為抽屜界面可以實現(xiàn)搜索,以及收藏夾,如圖6,圖7所示 圖6 首頁界面 圖7 抽屜界面3、抽屜界面(1)在抽屜界面中我的收藏界面和查看訪問記錄界面如圖8,圖9所示 圖8 收藏界面 圖9 訪問記錄界面(2)在抽屜界面中還有版本信息,意見反饋界面設(shè)計圖如圖10、11所示 圖10 版權(quán)信息界面 圖11 意見反饋五、 設(shè)計體會這次課程設(shè)計本來是純粹的Android端的開發(fā),但是進(jìn)入這樣的開發(fā)一段時間之后,我就感覺到這個課程的魅力所在。雖然課上并沒有提到移動互聯(lián)網(wǎng)開發(fā)里面這個互聯(lián)網(wǎng)開發(fā),但是通過這次的課程設(shè)計親切的感受到Android開發(fā)的魅力。課程設(shè)計當(dāng)中提到了web端和Android端的互通,真正的實現(xiàn)互聯(lián)網(wǎng)這個詞,我現(xiàn)在對這門課真的很感興趣,如果這樣的開發(fā)多了我相信以后的經(jīng)驗的積累會更快。但是這次課程設(shè)計里也是有很多不懂的問題,這樣其實也就是按部就班的進(jìn)行開發(fā),對于一些技術(shù)還掌握不到位,包括里面的實現(xiàn)web端和Android端的數(shù)據(jù)同步就是這樣的例子,說明自己的功底以及相應(yīng)知識還是不熟,欠練。這次課程設(shè)計是我自己選的素材,也是我想要追尋的方向,雖然不能達(dá)到像工程師那樣熟練,但是起碼給了我自己這樣一個學(xué)習(xí)方向?;ヂ?lián)網(wǎng)其實是現(xiàn)代接觸最為接近的核心網(wǎng)絡(luò)技術(shù)之一,掌握這樣的技術(shù)無論是以后找工作,還是以想開發(fā)自己想要的服務(wù)都是一個莫大的幫助。我現(xiàn)在正在往這方面進(jìn)行發(fā)展,等到學(xué)好這門技術(shù)我希望能開發(fā)出一個完全屬于自己的項目。參 考 文 獻(xiàn) 1 ??藸?,陳號鵬.Java編程思想中文.第4版.北京:機(jī)械工業(yè)出版社機(jī)械,2007 2 蔡翠平.Java程序設(shè)計.北京:北方交通大學(xué)出版社,清華大學(xué)出版社,2004 3 候國峰.面向?qū)ο蟪绦蛟O(shè)計導(dǎo)論. 北京:電子

溫馨提示

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

評論

0/150

提交評論