版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 - PAGE 4 -. z.*工業(yè)大學(xué)畢業(yè)設(shè)計論文基于android平臺的生活小助手app的設(shè)計與實現(xiàn)姓 名學(xué) 院專 業(yè)指導(dǎo)教師職 稱 年 月 日摘 要隨著智能手機的快速普及,智能手機操作系統(tǒng)市場風(fēng)生水起。為了讓智能手機用戶能夠隨時隨地查詢互聯(lián)網(wǎng)所提供的效勞,一種高效的方法就是將應(yīng)用系統(tǒng)的功能拓展到手機終端上,讓手機能夠通過移動網(wǎng)以及互聯(lián)網(wǎng)訪問Web并處理各種各樣的業(yè)務(wù)。因此,智能手機的應(yīng)用軟件及其需要的效勞將有廣闊的開展前景。在如今這個智能手機系統(tǒng)群雄紛爭的時候,2008年Google推出了一款名為Android的開源智能手機操作系統(tǒng),它采用Linu*核,開放手機聯(lián)盟(OHA)成員可以任意
2、使用和修改SDK包,系統(tǒng)的開源性使其具有良好的拓展性。這款軟件包括了操作系統(tǒng)、用戶界面和應(yīng)用程序,即智能手機工作所需要的全部軟件。Android的最大特點是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。因此,對于軟件從業(yè)人員來說,Android平臺具有無限的吸引力。本文就在分析討論Android手機軟件開發(fā)技術(shù)原理的根底上,開發(fā)出能為用戶提供更好的基于Android平臺的4G生活小助手app軟件。關(guān)鍵詞:Android;天氣;生活助手;AbstractWith the rapid popularizatio
3、n of intelligent mobile phone, intelligent mobile phone operating system market fast. In order to make intelligent mobile phone users can query the services provided by the Internet anytime, anywhere, to e*pand the function an efficient approach is the application of the system to the mobile phone t
4、erminal, let the phone through the mobile network and Internet access to a web site and handle a wide variety of business. Therefore, the intelligent mobile phone application software and service will have broad prospects for development.In now the system of intelligent mobile phone warlords dispute
5、. In 2008, Google launched a product called Android open-source smartphone operating system, which uses Linu* kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, the open-source system make it with good scalability. This software includes the operating system u
6、ser interface and applications that need intelligent mobile phone all the software. The biggest feature of Android is its open architecture, not only has a very good development and debugging environment, but also support a variety of scalable user e*perience, including rich graphical ponents, multi
7、media support, and powerful browser. Therefore, for software practitioners, Android platform has unlimited appeal.This article on the basis of analysis and Discussion on the Android mobile phone software development technology, developed to provide users with better Android platform based on the 4G
8、life of small assistant app software.Keywords: Android; weather; life assistant;-. z.目 錄TOC o 1-3 h z uHYPERLINK l _Toc450048342摘要 PAGEREF _Toc450048342 h IIHYPERLINK l _Toc450048343Abstract PAGEREF _Toc450048343 h IIIHYPERLINK l _Toc450048344第1章引言 PAGEREF _Toc450048344 h 1HYPERLINK l _Toc4500483451
9、.1 選題的目的及意義 PAGEREF _Toc450048345 h 1HYPERLINK l _Toc4500483461.2 研究現(xiàn)狀 PAGEREF _Toc450048346 h 1HYPERLINK l _Toc4500483471.3 本系統(tǒng)要實現(xiàn)的根本目標(biāo)和研究容 PAGEREF _Toc450048347 h 1HYPERLINK l _Toc450048348第2章系統(tǒng)的可行性研究 PAGEREF _Toc450048348 h 2HYPERLINK l _Toc4500483492.1 經(jīng)濟上的可行性 PAGEREF _Toc450048349 h 2HYPERLINK
10、l _Toc4500483502.2 技術(shù)上的可行性 PAGEREF _Toc450048350 h 2HYPERLINK l _Toc4500483512.3 操作上的可行性 PAGEREF _Toc450048351 h 2HYPERLINK l _Toc450048352第3章需求分析 PAGEREF _Toc450048352 h 2HYPERLINK l _Toc4500483533.1 軟件目標(biāo) PAGEREF _Toc450048353 h 3HYPERLINK l _Toc4500483543.2 功能需求 PAGEREF _Toc450048354 h 3HYPERLINK
11、l _Toc4500483553.3系統(tǒng)界面需求 PAGEREF _Toc450048355 h 3HYPERLINK l _Toc450048356第4章系統(tǒng)的總體設(shè)計 PAGEREF _Toc450048356 h 4HYPERLINK l _Toc4500483574.1 設(shè)計思想 PAGEREF _Toc450048357 h 4HYPERLINK l _Toc4500483584.2 系統(tǒng)功能構(gòu)造圖 PAGEREF _Toc450048358 h 4HYPERLINK l _Toc4500483594.3 開發(fā)語言簡介 PAGEREF _Toc450048359 h 6HYPERLI
12、NK l _Toc4500483604.3.1 Android簡介 PAGEREF _Toc450048360 h 6HYPERLINK l _Toc4500483614.3.2 Android Features特性 PAGEREF _Toc450048361 h 7HYPERLINK l _Toc4500483624.3.3 Android根本框架Android Architecture PAGEREF _Toc450048362 h 7HYPERLINK l _Toc4500483634.4.4 Android系統(tǒng)的四大組件 PAGEREF _Toc450048363 h 9HYPERLI
13、NK l _Toc4500483644.4.5 SQLite簡介 PAGEREF _Toc450048364 h 10HYPERLINK l _Toc4500483654.4 搭建Android開發(fā)環(huán)境 PAGEREF _Toc450048365 h 11HYPERLINK l _Toc4500483664.5 Android的工程 PAGEREF _Toc450048366 h 13HYPERLINK l _Toc4500483674.5.1 Android工程 PAGEREF _Toc450048367 h 13HYPERLINK l _Toc4500483684.5.2 Android工
14、程程序構(gòu)造 PAGEREF _Toc450048368 h 14HYPERLINK l _Toc4500483694.5.3 AndroidManifest.*ml文件 PAGEREF _Toc450048369 h 15HYPERLINK l _Toc450048370第5章系統(tǒng)調(diào)試與測試 PAGEREF _Toc450048370 h 18HYPERLINK l _Toc4500483715.1 程序調(diào)試 PAGEREF _Toc450048371 h 18HYPERLINK l _Toc4500483725.2 程序的測試 PAGEREF _Toc450048372 h 18HYPERL
15、INK l _Toc4500483735.2.1 測試的重要性及目的 PAGEREF _Toc450048373 h 18HYPERLINK l _Toc4500483745.2.2 測試的步驟 PAGEREF _Toc450048374 h 19HYPERLINK l _Toc4500483755.2.3 測試的主要容 PAGEREF _Toc450048375 h 19HYPERLINK l _Toc450048376第6章系統(tǒng)詳細(xì)設(shè)計 PAGEREF _Toc450048376 h 20HYPERLINK l _Toc4500483776.1系統(tǒng)主頁詳細(xì)設(shè)計 PAGEREF _Toc45
16、0048377 h 20HYPERLINK l _Toc4500483786.2歡送界面詳細(xì)設(shè)計 PAGEREF _Toc450048378 h 21HYPERLINK l _Toc4500483796.3獲取程序天氣信息 PAGEREF _Toc450048379 h 22HYPERLINK l _Toc4500483806.4增加食譜詳細(xì)設(shè)計 PAGEREF _Toc450048380 h 23HYPERLINK l _Toc4500483816.5查看食譜薦詳細(xì)設(shè)計 PAGEREF _Toc450048381 h 24HYPERLINK l _Toc4500483826.6車次查詢詳細(xì)設(shè)
17、計 PAGEREF _Toc450048382 h 25HYPERLINK l _Toc450048383第7章總結(jié) PAGEREF _Toc450048383 h 27HYPERLINK l _Toc450048384參考文獻 PAGEREF _Toc450048384 h 28HYPERLINK l _Toc450048385致 PAGEREF _Toc450048385 h 29-. z.第1章 引言1.1 選題的目的及意義Android是谷歌于2007年公布的開放式源代碼手機系統(tǒng),它的開放性就優(yōu)于其它封閉式的手機系統(tǒng),因此,任何人都可能根據(jù)自己的喜好將手機系統(tǒng)中的所有功能重新編寫。這使
18、得越來越多的人關(guān)注這個操作系統(tǒng)。本次作品天氣系統(tǒng)就是基于Android平臺的。Android操作系統(tǒng)是世界上最流行的手機操作系統(tǒng)之一,它在智能手機市場的占有率到達40%以上。越來越多的人開場使用Android智能手機,而根本上Android手機都自帶攝像頭,可以實現(xiàn)拍照、錄像等功能。但一般情況下,拍的照片或者錄像在當(dāng)時只能自己才能看到。如果想發(fā)給遠(yuǎn)方的親朋好友,要通過彩信或者4G視頻等功能實現(xiàn),這樣做不僅資費高,而且十分不便。本文的設(shè)計思想是利用Android手機的攝像頭,調(diào)用多媒體框架OpenCore實現(xiàn)視頻采集、編碼,并通過RTP協(xié)議把視頻打包發(fā)送到PC客戶端。利用手機4G傳輸網(wǎng)絡(luò),實現(xiàn)手
19、機拍攝、PC客戶端觀看視頻的功能。1.2 研究現(xiàn)狀A(yù)ndroid一詞的本義指機器人,同時也是Google于2007年11月5日宣布的基于Linu*平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Android是基于Linu*核的軟件平臺和操作系統(tǒng),早期由Google開發(fā)在華注冊商標(biāo)名為安致,后由開放手機聯(lián)盟Open Handset Alliance開發(fā)。它采用了軟件堆層software stack,又名以軟件疊層的架構(gòu),主要分為三局部。低層以Linu*核工作為根底,只提供根本功能;其他的應(yīng)用軟件則由各公司自行開
20、發(fā),以Java作為編寫程序的一局部。另外,為了推廣此技術(shù),Google和其它幾十個手機公司建立了開放手機聯(lián)盟。Android在未公開之前常被傳聞為Google或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機產(chǎn)品,而不是一套軟件平臺。到了2010年1月,Google開場發(fā)表自家品牌手機的Ne*us One。1.3 本系統(tǒng)要實現(xiàn)的根本目標(biāo)和研究容本文要實現(xiàn)的根本目標(biāo)和主要研究容有以下幾個方面:天氣查詢功能:點擊跳轉(zhuǎn)到天氣界面,開場查詢默認(rèn)城市的天氣,并可以添加、刪除城市;食譜查詢功能:點擊跳轉(zhuǎn)到食譜界面,可以查詢、瀏覽食譜信息、存儲食譜信息、并且可以自制食譜,可以通過人氣訪問量等對首頁推
21、送消息進展排序;列車查詢功能:點擊跳轉(zhuǎn)到列車界面,可以通過站站、車次查詢列車信息。第2章 系統(tǒng)的可行性研究當(dāng)今社會的生活節(jié)奏越來越快,人們對手機的要求也越來越高,由于手機市場開展迅速,是的手機操作系統(tǒng)也出現(xiàn)了不同各類,現(xiàn)在的市場主要有三個手機操作系統(tǒng),Windows mobile,symbian,以及谷歌的Android操作系統(tǒng),其中占有開發(fā)源代碼優(yōu)勢的Android系統(tǒng)有最大的開展前景。則能否在手機上擁有自己編寫的個性天氣系統(tǒng)呢?能的,谷歌Android系統(tǒng)就能做到。本文的天氣系統(tǒng)就是基于谷歌Android手機平臺的程序。2.1 經(jīng)濟上的可行性Android是 Google 歷經(jīng)數(shù)年和投資數(shù)
22、億美元開發(fā)出來的智能手機系統(tǒng),是基于 Linu* 核的操作系統(tǒng),是 Google 公司在 2007 年 11 月 5 日公布的手機操 作系統(tǒng)。隨著各大移動終端生產(chǎn)商大力開發(fā)和生產(chǎn)基于Android的移動智能設(shè)備,Android迅速得到業(yè)界和社會的認(rèn)可,并成為整個產(chǎn)業(yè)的熱點,基于Android平 臺的各類人才逐漸成為各大企業(yè)競相爭奪的焦點。 而且Android是一個開放的系統(tǒng),不管是企業(yè)還是個人都可以參與來表達自己的創(chuàng)意和想法。2.2 技術(shù)上的可行性Google 發(fā)起了圍繞Android的組織開放手機聯(lián)盟, 其英文全稱為 Open Handset Alliance。 它采用了軟件堆層softwa
23、re stack,又名以軟件疊層 的架構(gòu),主要分為三局部。底層 Linu* 核只提供根本功能;其他的應(yīng)用軟件則 由各公司自行開發(fā),局部程序以 Java 編寫。 2.3 操作上的可行性本系統(tǒng)采用Android框架,可以在eclipse中安裝Android開發(fā)插件,使用Android模擬器也可以使用任意Android終端。模擬器和真正的Android手機沒有太大區(qū)別,人們對手機操作早已熟悉。綜合以上三方面,該系統(tǒng)具有很高的開發(fā)可行性,無論是從技術(shù)上經(jīng)濟上還是操作上。故此,可以設(shè)計該系統(tǒng)流程圖,建立數(shù)據(jù)字典。第3章 需求分析軟件需求分析工作是軟件生存期中重要的一步,也是決定性的一步。軟件需求分析是一
24、個不斷認(rèn)識和逐步細(xì)化的過程,該過程將軟件方案階段所確定的軟件圍逐步細(xì)化到可詳細(xì)定義的程度。需求分析還是軟件開發(fā)的根底,假定在該階段發(fā)現(xiàn)一個錯誤,解決它需要用一小時的時間,到設(shè)計、編程、測試和維護階段解決,則要花幾倍甚至更多的時間。因此對于復(fù)雜系統(tǒng)而言,首先要進展需求分析。開發(fā)人員應(yīng)該對用戶的要求及現(xiàn)實環(huán)境進展調(diào)查和了解。3.1 軟件目標(biāo)本系統(tǒng)是天氣系統(tǒng)??梢苑奖阌脩羝綍r對天氣的統(tǒng)計。本系統(tǒng)應(yīng)到達以下目標(biāo): 1軟件采用人機交互的方式,界面美觀友好,操作靈活、方便、富有個性化。2能夠?qū)μ鞖庑畔⑦M展實時顯示實時更新。3系統(tǒng)應(yīng)最大限度地實現(xiàn)易維護性和易操作性。4查看確定區(qū)域的天氣 (5)設(shè)置界面:對要
25、顯示天氣預(yù)報的城市及更新頻率進展設(shè)置; (6)顯示界面:通過文字和圖片顯示當(dāng)前的天氣情況,包括日期、時間、城市、最高溫度、最低溫度、當(dāng)前溫度等。 (7)詳細(xì)界面:通過文字圖片動畫顯示當(dāng)前的天氣情況,包括城市當(dāng)前天氣、溫度、風(fēng)向、風(fēng)速、濕度;同時顯示今后四天的天氣情況。(8)食譜推薦:系統(tǒng)將會根據(jù)當(dāng)天天氣對用戶進展食譜推薦。(9)車次查詢:用戶可以根據(jù)自己需要進展車次查詢,方便出行3.2 功能需求功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了用戶的業(yè)務(wù)需求。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù)。針對android生活小助手app系統(tǒng)分別對輸入功能、承受功
26、能等功能進展詳細(xì)的調(diào)研和分析,總結(jié)出如下的用戶需求信息。3.3系統(tǒng)界面需求手機屏幕下天氣系統(tǒng)界面要求布局合理,顏色舒適,控制按鈕友好,要求整體有一個主要的元素標(biāo)準(zhǔn),統(tǒng)一的主題思想。第4章 系統(tǒng)的總體設(shè)計軟件功能設(shè)計是使整個軟件能夠?qū)崿F(xiàn)天氣的界面布局和天氣提醒功能,能讓用戶更好的天氣系統(tǒng)。4.1 設(shè)計思想1將系統(tǒng)分成幾個相對獨立的模塊。2分層的模塊化程序設(shè)計思想,整個系統(tǒng)采用模塊化構(gòu)造設(shè)計。作為應(yīng)用程序有較強的可操作性和擴展性。3合理的數(shù)據(jù)流設(shè)計,在應(yīng)用系統(tǒng)設(shè)計中,相對獨立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運行,提高系統(tǒng)平安性。4.2 系統(tǒng)功能構(gòu)造圖根據(jù)上述需求分析,本A
27、ndroid生活小助手app系統(tǒng)可分為一下幾個模塊: 傳輸根本功能如下圖:生活小助手app系統(tǒng)查看天氣食譜查詢列車查詢注冊登錄從圖中可以看出參與者依然是用戶,這表達了客戶體驗的要求,當(dāng)用戶輸入添加所需要的信息后,會添加到系統(tǒng)里面。添加食譜模塊如下圖生活小助手添加食譜數(shù)據(jù)數(shù)據(jù)庫后臺管理查看食譜存儲數(shù)據(jù)讀取數(shù)據(jù)添加食譜模塊圖系統(tǒng)流程圖:4.3 開發(fā)語言簡介4.3.1 Android簡介Android一詞的本義指機器人,同時也是Google于2007年11月5日宣布的基于Linu*平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整
28、的移動軟件。Android是基于Linu*核的軟件平臺和操作系統(tǒng),早期由Google開發(fā)在華注冊商標(biāo)名為安致,后由開放手機聯(lián)盟Open Handset Alliance開發(fā)。它采用了軟件堆層software stack,又名以軟件疊層的架構(gòu),主要分為三局部。低層以Linu*核工作為根底,只提供根本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一局部。另外,為了推廣此技術(shù),Google和其它幾十個手機公司建立了開放手機聯(lián)盟。Android在未公開之前常被傳聞為Google或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機產(chǎn)品,而不是一套軟件平臺。到了2010年1月,Go
29、ogle開場發(fā)表自家品牌手機的Ne*us One。4.3.2 Android Features特性Android系統(tǒng)有如下的幾大特性:應(yīng)用程序框架 支持組件的重用與替換Dalvik虛擬機 專門為移動設(shè)備做了優(yōu)化部集成瀏覽器 該瀏覽器基于開源的WebKit引擎優(yōu)化的圖形庫 包括2D和3D圖形庫,3D圖形庫基于OpenGL ESSQLite 用作構(gòu)造化的數(shù)據(jù)存儲多媒體支持 包括常見的音頻、視頻和靜態(tài)印象文件格式如 MPEG4、H.264、MP3、AAC、 AMR、JPG、PNG、 GIFGSM依賴于硬件藍(lán)牙Bluetooth,EDGE,4G and WiFi 依賴于硬件照相機,GPS,指南針,和加
30、速度計 依賴于硬件豐富的開發(fā)環(huán)境 包括設(shè)備模擬器,調(diào)試工具,存及性能分析圖表,和Eclipse集成開發(fā)環(huán)境插件4.3.3 Android根本框架Android ArchitectureAndroid平臺的根本框架如下圖。 Android根本框架圖(1)ApplicationsApplication Android會同一個核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是用JAVA編寫的。(2)Application FrameWork開發(fā)者完全可以訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序架構(gòu)用來簡化組件軟件
31、的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊不過得遵循框架的平安性限制。該應(yīng)用程序重用機制使得組建可以被用戶替換。所有的應(yīng)用程序都由一系列的效勞和系統(tǒng)組成,包括:可擴展的視圖Views可以用來建應(yīng)用程序,包括列表lists,網(wǎng)格grids,文本框te*t bo*es,按鈕buttons,甚至包括一個可嵌入的web瀏覽器容管理器Content Providers使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)如聯(lián)系人數(shù)據(jù)庫,或者共享它們自己的數(shù)據(jù)。資源管理器Resource Manager提供非代碼資源的訪問,如本地字符串,圖形,和分層文件layout f
32、iles。通知管理器Notification Manager使得應(yīng)用程序可以在狀態(tài)欄中顯示客戶通知信息?;顒宇惞芾砥鰽ctivity Manager用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。(3)Libraries庫Android 包括一個被 Android 系統(tǒng)中各種不同組件所使用的 C/C+ 庫集。該庫通過 Android 應(yīng)用程序框架為開發(fā)者提供效勞。以下是一些主要的核心庫:系統(tǒng) C 庫- 一個從 BSD 繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫 libc ,專門為基于 embedded linu* 的設(shè)備定制。 媒體庫- 基于 PacketVideo OpenCORE;該庫支持錄放,并且可
33、以錄制許多流行的音頻視頻格式,還有靜態(tài)印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提供2D和3D圖層的無縫融合。 LibWebCore - 一個最新的web瀏覽器引擎用來支持Android瀏覽器和一個可嵌入的web視圖。 SGL - 一個置的2D圖形引擎 3D libraries - 基于OpenGL ES 1.0 APIs實現(xiàn);該庫可以使用硬件3D加速如果可用或者使用高度優(yōu)化的3D軟加速。 FreeType - 位圖bitmap和向量vector字體顯示。 SQLite 一
34、個對于所有應(yīng)用程序可用,功能強勁的輕型關(guān)系型數(shù)據(jù)庫引擎。(4)Android RuntimeAndroid 包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。每一個Android應(yīng)用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik是針對于同時高效地運行多個VMs來實現(xiàn)的。Dalvik虛擬機執(zhí)行.de*的Dalvik可執(zhí)行文件,該格式文件針對最小存使用做了優(yōu)化。該虛擬機是基于存放器的,所有的類都經(jīng)由JAVA匯編器編譯,然后通過SDK中的d*工具轉(zhuǎn)化成.de*格式由虛擬機執(zhí)行。Dalvik虛擬機依賴于linu*的一些功能,比方線程機制和底層存管理機
35、制。(5)Linu*核Android 的核心系統(tǒng)效勞依賴于 Linu* 2.6 核,如平安性,存管理,進程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。 Linu* 核也同時作為硬件和軟件堆棧之間的硬件抽象層。未來開展老牌智能手機軟件平臺制造商Symbian發(fā)言人則表示:Google的Android只不過是另一個linu*,symbian對其它軟件與其形成的競爭并不感到擔(dān)憂。除了北美之外,Symbian在其它地區(qū)智能手機市場都占有大局部市場份額。與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網(wǎng)功能,用戶能夠在手機上查看電子、搜索網(wǎng)址和觀看視頻節(jié)目等,比iPhone等其
36、他手機更強調(diào)搜索功能,界面更強大,可以說是一種融入全部Web應(yīng)用的單一平臺。4.4.4 Android系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大根本組件,每個組件是一個視圖,但是有些是可見的,有些是不可見的視圖,像Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺運行。下面分別介紹四大組件:(1)Activity 簡介在Android系統(tǒng)中Activity提供可視化的用戶界面,一個Android應(yīng)用通常由多個Activity組成。多個Activity組成了Activity棧Stack,當(dāng)前活
37、動的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。(2)Service 簡介顧名思義Service就是運行在后臺的一種效勞程序,一般很少和用戶交互,因此沒有可視化界面定義一個Service類比擬簡單,只要繼承Service類,實現(xiàn)其生命周期中的方法就可以了。一個定義好的Service必須在AndroidManifest.*ml配置文件注冊,通過元素聲明才能使用.Service有自己的生命周期,我們可以調(diào)用startService()啟動一個Service或者bindService()方法來綁定一個存在的Service 。(3)Broadcast Rec
38、eiver 簡介Broadcast Receiver 顧名思義播送接收器,它和事件處理機制類似,只不過事件處理機制是程序組件級別的例如,*個按鈕的單擊事件,而播送事件處理機制是系統(tǒng)級別的。到目前為止我們可以使用Intent來啟動一個程序組件,我們還可以通過使用sendBroadcast()方法來發(fā)起一個系統(tǒng)級別的事件播送來傳遞消息。我們可以在你的應(yīng)用程序中實現(xiàn)Broadcast Receiver來監(jiān)聽和響應(yīng)這些播送的Intent。(4)ContentProvider簡介Content Provider 用來保存和檢索數(shù)據(jù),并且使應(yīng)用程序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法
39、。Android 為常用的數(shù)據(jù)類型如:音視頻、圖片和聯(lián)系方式等提供了大量的Content Provider。它們被定義在Avider包下面。通過這樣定義好的ContentProvider 我們可以方便的進展數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。我們也可以自己來定ContentProvider共享我們的數(shù)據(jù),方便用戶的訪問。4.4.5 SQLite簡介SQLite,是一款輕量級的關(guān)系型數(shù)據(jù)庫。由于它占用的資源非常少,所以在很多嵌入式設(shè)備都是用SQLite來存儲數(shù)據(jù)。并且它目前支持Windows/Linu*/Uni*等等主流的操作系統(tǒng),兼容性還不錯。我們也可以用多種開發(fā)語言如C
40、#、Java、PHP等來通過ODBC接口操作SQLite,十分方便。Android作為目前主流的移動操作系統(tǒng),完全符合SQLite占用資源少的優(yōu)勢,故在Android平臺上,集成了一個嵌入式關(guān)系型數(shù)據(jù)庫SQLite。如果你想要開發(fā) Android 應(yīng)用程序,一定需要在 Android 上存儲數(shù)據(jù),使用SQLite 數(shù)據(jù)庫是一種非常好的選擇。本數(shù)據(jù)庫支持功能如下:1.自動建表,支持屬性來自繼承類:可根據(jù)注解自動完成建表,并且對于繼承類中的注解字段也支持自動建表。2.自動支持增刪改,增改支持對象化操作:增刪改是數(shù)據(jù)庫操作的最根本單元,不用重復(fù)寫這些增刪改的代碼,并且添加和更新支持類似于hibern
41、ate中的對象化操作。3.查詢方式靈活:支持android框架提供的方式,也支持原生sql方式。4.查詢結(jié)果對象化:對于查詢結(jié)果可自動包裝為實體對象,類似于hibernate框架。5.查詢結(jié)果靈活:查詢結(jié)果支持對象化,也支持結(jié)果為ListMap形式,這個方法在實際工程中很實用,且效率更好些。4.4 搭建Android開發(fā)環(huán)境任何事物要運行,都要有它的環(huán)境,Android也有它的環(huán)境才能夠運行,下面介紹Android的開發(fā)環(huán)境配置。搭建開發(fā)環(huán)境需要的軟件:操作系統(tǒng):window *P或linu*軟件包:Android SDK(Software Development kit Java Devel
42、opment kit) 、ADT(Android Develoopment ToolIDE環(huán)境:Eclipse IDE+ADT Eclipse3.3以上JDK:Java Runtime Environment虛擬機 、(JDK)Java Development kit安裝步驟如下:第一步:安裝Java虛擬機sun-java6-jdk版本。第二步:安裝Eclipse3.5工具,到官網(wǎng)./downloads/,選擇版本下載后進展安裝。如圖Eclipse工具的版本如圖1-2所示:Eclipse工具的版本圖第三步:安裝Android SDK:首先要下載SDK,可以在這個網(wǎng)址下載d
43、eveloper.Android./sdk ,選擇相應(yīng)的系統(tǒng)進展安裝。sdk下載的地址圖如下圖:sdk下載的地址圖第四步:安裝Android ADT插件。運行Eclipse,選擇help-install new software 選擇add,將會彈出一個【Add Site】對話框。【Add Site】對話框如圖:【Add Site】對話框圖點擊OK,選擇要安裝的軟件,占ne*t,然后選擇承受協(xié)議,直到安裝成功,重啟Eclipse軟件,設(shè)置Android SDK Home,Window-refrence。設(shè)置Android SDK Home界面如下圖:設(shè)置Android SDK Home界面圖在
44、SDK location中輸入SDK Tools路D:AndroidsoftwareAndroid-sdk-windows 點擊OK,這樣Android環(huán)境就已經(jīng)搭建成功了。4.5 Android的工程4.5.1 Android工程Android的四大根本組件:Activity(活動),Service(效勞),BroadcastReceiver(播送),ContentProvider(容提供者),各組件之間要進展切換需要一個意圖或企圖Intent類,通過啟動StartIntent()方法來使各組件進展跳轉(zhuǎn)Android的五大布局方式:LinearLayout(線性布局) FrameLayout
45、(幀布局) TableLayout(表格布局) AbsoluteLayout(絕對布局) RelativeLayout(相對布局五種布局方式可以相互嵌套,Android各種漂亮的界面都是通過嵌套布局而實現(xiàn)的。Android的線程,以及線程之間通信的中介:Handler類Android配置文件:AndroidManifest.*ml及res資源文件中各種屬性布局方式引用的資源等。Android系統(tǒng)將插件ADT集成到了Eclipse工具上,因此,一個Android程序啟動后,系統(tǒng)會啟動一個模擬器Emulator(如下列圖,該模擬器是一款手機板的樣式,擁有手機硬件的根本操作。我們也可以將右邊的鍵盤通
46、過代碼屬性設(shè)置將其隱藏,界面的大小可自由設(shè)定。模擬器圖4.5.2 Android工程程序構(gòu)造Android工程根本構(gòu)造目錄包括:src (源代碼)、genAndroid系統(tǒng)自動生成的常量、Res資源文件:主要存放程序界面的布局配置.*ml文件和圖片資源。AndroidMainfes.*ml 是四大組件的驅(qū)動配置文件,有它的存在,Android程序的四大組件才可以正常的跳轉(zhuǎn)。Android資源的類型和布局圖1-7資源類型和布局圖4.5.3 AndroidManifest.*ml文件Android系統(tǒng)的任何一個程序啟動都需要AndroidManifest.*ml來啟動程序,任何一個新建的工程目錄都
47、會自動生成一個AndroidManifest.*ml文件,此配置文件是整個程序能夠正常運行的核心,它里面包含了Android SDK的版本,程序運行的默認(rèn)Activity,當(dāng)程序中的任何一個組件觸發(fā)事件后,系統(tǒng)都會自動的去AndroidManifest.*ml中尋找標(biāo)識來作出相應(yīng)的操作。任何一個AndroidManifest.*ml文件的格式都應(yīng)為: Android系統(tǒng)有一個編碼的規(guī)定,支持的編碼是utf-8,當(dāng)程序中出現(xiàn)亂碼是,我們須將其編碼格式轉(zhuǎn)化為utf-8.在 AndroidManifest.*ml中會在第一行聲明一句:。它是該系統(tǒng)支持的版本和編碼。在第二行定義了我們需要使用的架構(gòu),該
48、架構(gòu)來自*mlns:Android=schemas.Android./apk/res/Android。*mlns(*ML namespace)是一個命名空間,它就像一條河的源頭一樣能讓我們找到系統(tǒng)架構(gòu),每一個配置文件必須有這個*mlns,否則程序中的所使用的所有資源將無法找到。在application元素我們定義Android:icon=drawable/iconAndroid:label=string/app_name,Android:icon是程序在手機中顯示的圖片,我們運用drawable/icon表示了對res/drawable目錄下的icon.png的引用。string/app_na
49、me表示了對res/value目錄下string.*ml中定義的app_name參數(shù)的引用。這是系統(tǒng)確定的首先要啟動的Activity是PlayRackActivity。在intent-filter選項中,有action和category等等屬性,我們需要定義action的值為Aent.action.MAIN,category的值為Aent.category.LAUNCHER,它們是系統(tǒng)的值,程序在解析到這些常用后就可以確定首先要啟動的Activity。當(dāng)我們需要通過一個組件觸發(fā)另一個組件時,我們將設(shè)定action和category的其它屬性值,系統(tǒng)會根
50、據(jù)我們設(shè)定的屬性值去AndroidManifest.*ml的application 中尋找標(biāo)識,任何一個Activity的action和category是唯一,所以程序在任何時候都能唯一啟動一個Activity,這樣,不同的Activity之間的跳轉(zhuǎn)就實現(xiàn)了。在AndroidManifest.*ml中有一個根結(jié)點,它是我們需要定義的ADT版本,例如我們將其值設(shè)定為Android:minSdkVersion=10,則表示此Android工程所用的版本為2.3,Android還有1.1、1.5、1.6、2.0、2.1、2.2、2.3、3.0、4.0這幾個版本。如果我們需要對網(wǎng)絡(luò)進展訪問,比方翻開一
51、個網(wǎng)頁,剛我還需要設(shè)置一個網(wǎng)絡(luò)訪問權(quán)限uses-permission,將其的值設(shè)置為Android:name=Android.permission.INTERNET,我們就可以訪問網(wǎng)絡(luò)了。當(dāng)然uses-permission還有很多其它的權(quán)限,例如GPS定位權(quán)限,瀏覽器數(shù)據(jù)存取權(quán)限.Android.browser.permission.READ_HISTORY_BOOKMARKS等等。當(dāng)程序的任何一個組件要用到時,都必須在AndroidManifest.*ml文件中聲明。四大組件要使用前都需要聲明,其聲明方式如下:其中聲明provider時還需要聲明其授權(quán) authorities。每個組件里面還
52、有很多的屬性,會根據(jù)程序的具體需要定義不同的屬性。過濾器intent-filter 有兩種啟動方式來啟動界面。顯示方式顯示方式是在代碼中的直接啟動組件,啟動時會聲明Intent,在它的構(gòu)造方法Intent(組件1,組件2)中直接指定一個組件的名字,然后調(diào)用方法startIntent(intent)以啟動指定的組件。 2)隱式方式隱式方式是通過過濾器來過濾完成的,啟動的組件必須滿足action和category的條件才能夠啟動該組件。這些屬性是在AndroidManifest.*ml文件中聲明的。兩種啟動方式都可以通過程序setActionACTION常量和startActivityintent
53、或配置文件兩種方式來實現(xiàn)組件的跳轉(zhuǎn)。第5章系統(tǒng)調(diào)試與測試5.1 程序調(diào)試在設(shè)計系統(tǒng)的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比擬容易發(fā)現(xiàn)和糾正。但另一類錯誤是在程序執(zhí)行時由于不正確的操作或?qū)?些數(shù)據(jù)的計算公式的邏輯錯誤導(dǎo)致的錯誤結(jié)果。這類錯誤隱蔽性強,有時會出現(xiàn),有時又不出現(xiàn),因此,對這一類動態(tài)發(fā)生的錯誤的排查是耗時費力的。5.2 程序的測試5.2.1 測試的重要性及目的1測試的重要性軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來
54、,軟件工程界趨向于一種新的觀點,即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進展測試,錯誤的延時擴散常常會導(dǎo)致最后成品測試的巨大困難。 事實上,對于軟件來講,不管采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進展估計。測試是所有工程學(xué)科的根本組成單元,是軟件開發(fā)的重要局部。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計說明,在典型的軟件開發(fā)工程中,軟件測試工作量往往
55、占軟件開發(fā)總工作量的40以上。而在軟件開發(fā)的總本錢中,用在測試上的開銷要占30到50。如果把維護階段也考慮在,討論整個軟件生存期時,測試的本錢比例也許會有所降低,但實際上維護工作相當(dāng)于二次開發(fā),乃至屢次開發(fā),其中必定還包含有許多測試工作。 在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這包括: 認(rèn)為測試工作不如設(shè)計和編碼那樣容易取得進展難以給測試人員*種成就感; 以發(fā)現(xiàn)軟件錯誤為目標(biāo)的測試是非建立性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責(zé)任者工作的一種否認(rèn); 測試工作枯燥無味,不能引起人們的興趣; 測試工作是艱辛而細(xì)致的工作; 對自己編
56、寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。 這些觀點對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。 2測試的目的 如果測試的目的是為了盡可能多地找出錯誤,則測試就應(yīng)該直接針對軟件比擬復(fù)雜的局部或是以前出錯比擬多的位置。 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程; 測試是為了證明程序有錯,而不是證明程序無錯誤; 一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤; 一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。 這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯誤是軟件測
57、試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。 首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助工程管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改良。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。5.2.2 測試的步驟與開發(fā)過程類似,測試過程也必須分步驟進展,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟件系統(tǒng)通常由假設(shè)干個子系統(tǒng)組成,每個子系統(tǒng)又由假設(shè)干個模塊組成。因此,大型軟件系統(tǒng)的測試根本上由下述幾個步驟組成:1模塊測試 在這個測試步驟中所發(fā)現(xiàn)的往
58、往是編碼和詳細(xì)設(shè)計的錯誤。2系統(tǒng)測試 在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。3驗收測試 在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。5.2.3 測試的主要容為了保證測試的質(zhì)量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。 1單元測試 單元測試集中在檢查軟件設(shè)計的最小單位模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。 2集成測試 集成測試是將模塊按照設(shè)計要求組裝起來同時進展測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。如一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功
59、能組合起來可能不產(chǎn)生預(yù)期的主功能;個別看起來是可以承受的誤差可能積累到不能承受的程度;全程數(shù)據(jù)構(gòu)造可能有錯誤等。 3確認(rèn)測試 確認(rèn)測試的目的是向未來的用戶說明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)根本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。 4系統(tǒng)測試 軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他局部配套運行,進展系統(tǒng)測試。包括恢復(fù)測試、平安測試、強度測試和性能測試等。 單獨對系統(tǒng)的測試主要從以下幾方面入手: 功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計所描述的功能
60、,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標(biāo)準(zhǔn)。 強度測試及性能測試:測試系統(tǒng)能力最高實際限度,即軟件在一些超負(fù)荷情況下功能實現(xiàn)的情況。 平安測試:驗證安裝在系統(tǒng)的保護機構(gòu)確實能夠?qū)ο到y(tǒng)進展保護,使之不受各種非常的干擾。針對本系統(tǒng)主要是對權(quán)限系統(tǒng)的測試和對無效數(shù)據(jù)、錯數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。經(jīng)過上述的測試過程對軟件進展測試后,軟件根本滿足開發(fā)的要求,測試宣告完畢。第6章 系統(tǒng)詳細(xì)設(shè)計6.1系統(tǒng)主頁詳細(xì)設(shè)計基于Android平臺的智能手機訪問效勞器的主要技術(shù)是數(shù)據(jù)交互方法?;贏ndroid操作系統(tǒng)的天氣實況預(yù)報系統(tǒng)設(shè)計的核心是通
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版毛竹種植基地與竹制裝飾材料生產(chǎn)企業(yè)供應(yīng)合同4篇
- 個人健身工作室轉(zhuǎn)讓合同(2024版)3篇
- 2025年西瓜種植與農(nóng)業(yè)產(chǎn)業(yè)鏈金融合作合同3篇
- 二零二五版房地產(chǎn)抵押貸款服務(wù)合同范本3篇
- 2025年度測繪技術(shù)服務(wù)與咨詢合同4篇
- 水陸聯(lián)運貨物運輸合同協(xié)議書范本
- 汽車融資租賃合同典型答辯狀
- 房地產(chǎn)信托借款合同
- 2025年度玻璃制品回收與再生利用合同3篇
- 2025年私人教育機構(gòu)買賣合同范本(含師資力量承諾)3篇
- 運輸供應(yīng)商年度評價表
- 機械點檢員職業(yè)技能知識考試題庫與答案(900題)
- 成熙高級英語聽力腳本
- 北京語言大學(xué)保衛(wèi)處管理崗位工作人員招考聘用【共500題附答案解析】模擬試卷
- 肺癌的診治指南課件
- 人教版七年級下冊數(shù)學(xué)全冊完整版課件
- 商場裝修改造施工組織設(shè)計
- (中職)Dreamweaver-CC網(wǎng)頁設(shè)計與制作(3版)電子課件(完整版)
- 統(tǒng)編版一年級語文上冊 第5單元教材解讀 PPT
- 加減乘除混合運算600題直接打印
- ASCO7000系列GROUP5控制盤使用手冊
評論
0/150
提交評論