基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著科技的發(fā)展,智能手機(jī)得到普及,由Google公司開(kāi)發(fā)的基于 HYPERLINK /view/1634.htm t _blank Linux的自由及開(kāi)放源代碼的 HYPERLINK /view/880.htm t _blank 操作系統(tǒng)Android憑借其開(kāi)放性及豐富的應(yīng)用受到廣大手機(jī)用戶的喜愛(ài),逐漸成為了市場(chǎng)占有量最大的移動(dòng)平臺(tái)操作系統(tǒng),所以開(kāi)發(fā)基于Android系統(tǒng)的應(yīng)用軟件變得十分必要。本應(yīng)用軟件針對(duì)智能手機(jī)用戶日常出游、出差時(shí)經(jīng)常遇到的找不著方向的問(wèn)題,采用軟件工程中結(jié)構(gòu)化思想、標(biāo)準(zhǔn)的軟件設(shè)計(jì)流程,從可行性研究、需求分析、系統(tǒng)設(shè)計(jì)及系統(tǒng)實(shí)

2、現(xiàn)和測(cè)試等步驟來(lái)開(kāi)發(fā),基于Android開(kāi)發(fā)平臺(tái),采用Java語(yǔ)言和xml布局編寫(xiě),實(shí)現(xiàn)了利用手機(jī)自帶的電子羅盤(pán)傳感器來(lái)為用戶指明方向的功能。關(guān)鍵詞:Android;操作系統(tǒng);智能手機(jī);電子羅盤(pán);指南針Design and implementation of a compass software based on AndroidAbstractWith the development of technology, smart phones gain popularity, developed by Google based on the free and open-source Linux o

3、perating system Android, with its openness and rich applications loved by the majority of mobile phone users, has become the largest market share of mobile operating system platform, so developers based on the Android system application software becomes necessary.This application software is designe

4、d for deal the problem which the smartphone users could not find the direction ,and this problem always happens during the daily travel time or daily outings ,using structured software engineering ideas, using standard software design process, from feasibility studies, requirements analysis, systems

5、 design and system implementation and testing steps to develop, based on Android development platform, written in Java language and xml layout to achieve a use the phone comes with an electronic compass sensor to indicate the direction of the user function.Key words: Android; operating system; smart

6、 phones; electronic compass; compass目錄 TOC o 1-3 h z u HYPERLINK l _Toc390339936 摘要 PAGEREF _Toc390339936 h i HYPERLINK l _Toc390339937 Abstract PAGEREF _Toc390339937 h ii HYPERLINK l _Toc390339938 1緒論 PAGEREF _Toc390339938 h 1 HYPERLINK l _Toc390339939 1.1Android系統(tǒng)開(kāi)發(fā)背景 PAGEREF _Toc390339939 h 1 HYP

7、ERLINK l _Toc390339940 1.1.1研究背景 PAGEREF _Toc390339940 h 1 HYPERLINK l _Toc390339941 1.1.2Android 開(kāi)發(fā)平臺(tái)的優(yōu)勢(shì) PAGEREF _Toc390339941 h 1 HYPERLINK l _Toc390339942 1.1.3Android 的市場(chǎng)前景 PAGEREF _Toc390339942 h 2 HYPERLINK l _Toc390339943 1.1.4Android 的國(guó)內(nèi)市場(chǎng) PAGEREF _Toc390339943 h 2 HYPERLINK l _Toc390339944

8、1.2課題的目的與意義 PAGEREF _Toc390339944 h 3 HYPERLINK l _Toc390339945 1.3本論文主要研究?jī)?nèi)容 PAGEREF _Toc390339945 h 3 HYPERLINK l _Toc390339946 2Android相關(guān)知識(shí) PAGEREF _Toc390339946 h 4 HYPERLINK l _Toc390339947 2.1開(kāi)發(fā)工具 PAGEREF _Toc390339947 h 4 HYPERLINK l _Toc390339948 2.1.1Eclipse PAGEREF _Toc390339948 h 4 HYPERLI

9、NK l _Toc390339949 2.1.2Android SDK PAGEREF _Toc390339949 h 5 HYPERLINK l _Toc390339950 2.1.3ADT PAGEREF _Toc390339950 h 5 HYPERLINK l _Toc390339951 2.2Android系統(tǒng)的特性 PAGEREF _Toc390339951 h 5 HYPERLINK l _Toc390339952 2.3Android系統(tǒng)平臺(tái)架構(gòu) PAGEREF _Toc390339952 h 6 HYPERLINK l _Toc390339953 2.3.1Linux內(nèi)核 P

10、AGEREF _Toc390339953 h 7 HYPERLINK l _Toc390339954 2.3.2Android程序庫(kù) PAGEREF _Toc390339954 h 7 HYPERLINK l _Toc390339955 2.3.3Android運(yùn)行庫(kù) PAGEREF _Toc390339955 h 8 HYPERLINK l _Toc390339956 2.3.4應(yīng)用程序框架 PAGEREF _Toc390339956 h 8 HYPERLINK l _Toc390339957 2.3.5應(yīng)用程序 PAGEREF _Toc390339957 h 8 HYPERLINK l _

11、Toc390339958 2.4Android系統(tǒng)的四大核心組件 PAGEREF _Toc390339958 h 9 HYPERLINK l _Toc390339959 2.4.1Activity及其生命周期 PAGEREF _Toc390339959 h 9 HYPERLINK l _Toc390339960 2.4.2Service及其生命周期 PAGEREF _Toc390339960 h 10 HYPERLINK l _Toc390339961 2.4.3BroadCastRececiver介紹 PAGEREF _Toc390339961 h 11 HYPERLINK l _Toc39

12、0339962 2.4.4ContentProvider介紹 PAGEREF _Toc390339962 h 13 HYPERLINK l _Toc390339963 2.5Android中的傳感器 PAGEREF _Toc390339963 h 14 HYPERLINK l _Toc390339964 2.6Android中的界面布局 PAGEREF _Toc390339964 h 15 HYPERLINK l _Toc390339965 2.7Android Animation動(dòng)畫(huà) PAGEREF _Toc390339965 h 17 HYPERLINK l _Toc390339966 3

13、Android的指南針軟件的設(shè)計(jì)及準(zhǔn)備 PAGEREF _Toc390339966 h 19 HYPERLINK l _Toc390339967 3.1研究目標(biāo) PAGEREF _Toc390339967 h 19 HYPERLINK l _Toc390339968 3.2可行性研究 PAGEREF _Toc390339968 h 19 HYPERLINK l _Toc390339969 3.2.1經(jīng)濟(jì)可行性 PAGEREF _Toc390339969 h 20 HYPERLINK l _Toc390339970 3.2.2技術(shù)可行性 PAGEREF _Toc390339970 h 20 HY

14、PERLINK l _Toc390339971 3.2.3操作可行性 PAGEREF _Toc390339971 h 21 HYPERLINK l _Toc390339972 3.3需求分析 PAGEREF _Toc390339972 h 22 HYPERLINK l _Toc390339973 3.3.1實(shí)用性原則 PAGEREF _Toc390339973 h 22 HYPERLINK l _Toc390339974 3.3.2安全可靠性原則 PAGEREF _Toc390339974 h 22 HYPERLINK l _Toc390339975 3.3.3指南針軟件的基本操作需求 PAG

15、EREF _Toc390339975 h 22 HYPERLINK l _Toc390339976 3.3.4指南針軟件的基本界面需求 PAGEREF _Toc390339976 h 22 HYPERLINK l _Toc390339977 3.3.5軟件性能需求 PAGEREF _Toc390339977 h 23 HYPERLINK l _Toc390339978 3.3.6運(yùn)行環(huán)境需求 PAGEREF _Toc390339978 h 23 HYPERLINK l _Toc390339979 3.4配置開(kāi)發(fā)環(huán)境 PAGEREF _Toc390339979 h 23 HYPERLINK l

16、_Toc390339980 3.4.1安裝JDK PAGEREF _Toc390339980 h 23 HYPERLINK l _Toc390339981 3.4.2安裝Eclipse PAGEREF _Toc390339981 h 25 HYPERLINK l _Toc390339982 3.4.3安裝SDK PAGEREF _Toc390339982 h 25 HYPERLINK l _Toc390339983 3.4.4安裝ADT PAGEREF _Toc390339983 h 26 HYPERLINK l _Toc390339984 3.5制作指南針軟件的材料準(zhǔn)備 PAGEREF _T

17、oc390339984 h 26 HYPERLINK l _Toc390339985 4基于Android的指南針軟件的實(shí)現(xiàn) PAGEREF _Toc390339985 h 28 HYPERLINK l _Toc390339986 4.1界面設(shè)計(jì) PAGEREF _Toc390339986 h 28 HYPERLINK l _Toc390339987 4.2方向傳感器的應(yīng)用 PAGEREF _Toc390339987 h 29 HYPERLINK l _Toc390339988 4.2.1獲取管理服務(wù) PAGEREF _Toc390339988 h 29 HYPERLINK l _Toc390

18、339989 4.2.2方向傳感監(jiān)聽(tīng)器的注冊(cè)和取消注冊(cè) PAGEREF _Toc390339989 h 29 HYPERLINK l _Toc390339990 4.2.3onSensorChanged及其效果 PAGEREF _Toc390339990 h 30 HYPERLINK l _Toc390339991 4.3程序退出對(duì)話框 PAGEREF _Toc390339991 h 31 HYPERLINK l _Toc390339992 4.4AndroidManifest.xml PAGEREF _Toc390339992 h 32 HYPERLINK l _Toc390339993 5

19、基于Android的指南針軟件的測(cè)試 PAGEREF _Toc390339993 h 34 HYPERLINK l _Toc390339994 6異常處理 PAGEREF _Toc390339994 h 39 HYPERLINK l _Toc390339995 總結(jié) PAGEREF _Toc390339995 h 40 HYPERLINK l _Toc390339996 參考文獻(xiàn) PAGEREF _Toc390339996 h 41 HYPERLINK l _Toc390339997 致謝 PAGEREF _Toc390339997 h 42 HYPERLINK l _Toc390339998

20、 附錄 PAGEREF _Toc390339998 h 43 HYPERLINK l _Toc390339999 外文原文及其中文翻譯 PAGEREF _Toc390339999 h 47緒論智能手機(jī),簡(jiǎn)單來(lái)說(shuō)就是像電腦一樣,具有獨(dú)立的操作系統(tǒng),可以通過(guò)安裝第三方軟件來(lái)擴(kuò)充手機(jī)功能的手機(jī)。智能手機(jī)跟電腦一樣,操作系統(tǒng)不止有一種,原因主要是手機(jī)的生產(chǎn)廠家很多,要統(tǒng)一基本不可能。但那是經(jīng)過(guò)大浪淘沙,有四種手機(jī)操作系統(tǒng)被廣大用戶廣泛接受,它們分別是Symbian、Android、Window Mobile和iOS。其中Android是由 HYPERLINK /view/1931.htm t _bla

21、nk 谷歌、 HYPERLINK /view/6576231.htm t _blank 開(kāi)放手持設(shè)備聯(lián)盟聯(lián)合研發(fā),谷歌獨(dú)家推出的智能操作系統(tǒng),2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)Android已經(jīng)超越稱霸十年的 HYPERLINK /view/1824555.htm t _blank 塞班操作系統(tǒng),躍居全球第一。2012年11月數(shù)據(jù)顯示,安卓占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)76%的份額,中國(guó)市場(chǎng)占有率為90%,徹底占領(lǐng)中國(guó)智能手機(jī)市場(chǎng),也成為了全球最受歡迎的智能手機(jī)操作系統(tǒng),因?yàn)楣雀柰瞥霭沧繒r(shí)采用 HYPERLINK /view/1708.htm t _blank 開(kāi)放源代碼( HYPE

22、RLINK /view/9664.htm t _blank 開(kāi)源)的形式推出,所以導(dǎo)致世界大量手機(jī)生產(chǎn)商采用安卓系統(tǒng)生產(chǎn)智能手機(jī),再加上安卓在性能和其他各個(gè)方面上也非常優(yōu)秀,便讓安卓一舉成為全球第一大智能操作系統(tǒng)。Android系統(tǒng)開(kāi)發(fā)背景Android是一套真正意義上的開(kāi)放性移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android最大特點(diǎn)在于它是一個(gè)開(kāi)放的體系架構(gòu),具有非常好的開(kāi)發(fā)和調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),Android里面具有非常豐富的圖形系統(tǒng)、對(duì)多媒體的支持功能和非常強(qiáng)大的瀏覽器。Android平臺(tái)的開(kāi)放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)自身)的創(chuàng)新,又

23、有助于降低開(kāi)發(fā)成本,還可以使運(yùn)營(yíng)商能非常方便地制定特色化的產(chǎn)品,因此,它具有很大的市場(chǎng)發(fā)展?jié)摿Α?研究背景Android一詞的本義指“機(jī)器人”,同時(shí)Android也是Google于2007年11月5日宣布的基于linux平臺(tái)開(kāi)源手機(jī)操作系統(tǒng)名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。2008年9月22日,美國(guó)運(yùn)營(yíng)商T-Mobile USA在紐約正式發(fā)布第一款基于Android的手機(jī)T-Mobile G1。該款手機(jī)為宏達(dá)電制造,是世界上第一部使用Android操作系統(tǒng)的手機(jī),支持WCDMA/HSPA網(wǎng)絡(luò),理論下載速率7.2Mbps,

24、并支持 Wi-Fi。在隨后的幾個(gè)月越來(lái)越多的廠商也開(kāi)始宣布將提供Android手機(jī)。Android 開(kāi)發(fā)平臺(tái)的優(yōu)勢(shì)Android是一個(gè)真正意義上的開(kāi)放性移動(dòng)設(shè)備綜合平臺(tái)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序移動(dòng)電話工作所需的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。谷歌與開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)了 Android,這個(gè)聯(lián)盟由包括中國(guó)移動(dòng)、摩托羅拉、高通、宏達(dá)和 T-Mobile 在內(nèi)的 30 多家技術(shù)和無(wú)線應(yīng)用的領(lǐng)軍企業(yè)組成。通過(guò)與運(yùn)營(yíng)商、設(shè)備制造商、開(kāi)發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,來(lái)建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng),這樣應(yīng)用之

25、間的通用性和互聯(lián)性將在最大程度上得到保持。所有的Android應(yīng)用之間是完全平等的。在開(kāi)發(fā)之初,Android平臺(tái)就被設(shè)計(jì)成一個(gè)由一系列應(yīng)用所組成的平臺(tái)。所有的應(yīng)用都運(yùn)行在一個(gè)核心的引擎上面,這個(gè)核心引擎其實(shí)就是一個(gè)虛擬機(jī),它提供了一系列用于應(yīng)用和硬件資源間進(jìn)行通訊的API。撇開(kāi)這個(gè)核心引擎,Android的所有其他的東西都是“應(yīng)用”。因此,用戶甚至可以將系統(tǒng)中默認(rèn)的電話撥號(hào)軟件替換成其他第三方的電話撥號(hào)軟件。你也可以改變主界面顯示窗口的內(nèi)容,或者將手機(jī)中任意的應(yīng)用替換成你所需要的其他應(yīng)用。Android打破了應(yīng)用之間的界限,比如開(kāi)發(fā)人員可以把Web上的數(shù)據(jù)與本地的聯(lián)系人,日歷,位置信息結(jié)合起

26、來(lái),為用戶創(chuàng)造全新的用戶體驗(yàn)。此外應(yīng)用程序不僅可以通過(guò)標(biāo)準(zhǔn)API 訪問(wèn)核心移動(dòng)設(shè)備功能,互聯(lián)網(wǎng),應(yīng)用程序還可以聲明它們的功能可以供其他應(yīng)用程序使用,比如前面圖 Android平臺(tái)為開(kāi)發(fā)人員提供了大量的實(shí)用庫(kù)和工具,開(kāi)發(fā)人員可以很快速的創(chuàng)建自己的應(yīng)用。 Android 的市場(chǎng)前景美國(guó)知名的互聯(lián)網(wǎng)統(tǒng)計(jì)公司comScore近日剛剛發(fā)布了今年三月至五月的美國(guó)智能手機(jī)市場(chǎng)調(diào)研報(bào)告,這份最新的報(bào)告顯示 ,全美目前共有4910萬(wàn)用戶使用智能手機(jī),其中有8.1%的用戶為近三個(gè)月來(lái)新增用戶。作為打拼多年的老品牌,黑莓仍然以41.7的市占率穩(wěn)居全美智能手機(jī)占有率排行版首位,其后的蘋(píng)果和微軟的是市占率分別為24.4

27、%和13.2% ,特別值得一提的是,谷歌Android平臺(tái)的占有率以13%的市占率緊隨微軟的13.2%之后,Android平臺(tái)的整體市占率增加了4%,而如果將時(shí)間跨度限制到3月至5月的這三個(gè)月內(nèi),Android平臺(tái)市占率增長(zhǎng)數(shù)字甚至接近了45%。Android 的國(guó)內(nèi)市場(chǎng)在國(guó)內(nèi),android社區(qū)十分紅火,這些社區(qū)為android在中國(guó)的普及做了很好的推廣作用,同時(shí)也為Android 相關(guān)產(chǎn)品的消費(fèi)提供了市場(chǎng)。國(guó)內(nèi)廠商和運(yùn)營(yíng)商也紛紛加入了android陣營(yíng),包括中國(guó)移動(dòng),中國(guó)聯(lián)通,華為通訊,聯(lián)想等大企業(yè)。同時(shí)不僅僅局限于手機(jī),國(guó)內(nèi)廠家也陸續(xù)推出了采用android系統(tǒng)的MID(平板電腦)產(chǎn)品,

28、比較著名的包括由Rockchip和藍(lán)魔推出的同時(shí)具備高清播放和智能系統(tǒng)的音悅匯W7。我們可以預(yù)見(jiàn)android也將會(huì)被廣泛應(yīng)用在國(guó)產(chǎn)智能上網(wǎng)設(shè)備上,將進(jìn)一步擴(kuò)大Andorid系統(tǒng)的應(yīng)用范圍。android智能終端已成為當(dāng)前智能手機(jī),信息家電發(fā)展的主要方向,而網(wǎng)絡(luò)故障的診斷解決已成為解決售后和用戶正常使用的關(guān)鍵,研究和開(kāi)發(fā)相關(guān)網(wǎng)絡(luò)模塊診斷程序變得尤為重要。本論文的主要研究目的就是研究為接下來(lái)的有關(guān)Android產(chǎn)品的做好售后服務(wù)工作 ,開(kāi)發(fā)一個(gè)智能終端的網(wǎng)絡(luò)診斷界面,完成相關(guān)網(wǎng)絡(luò)的檢測(cè),并做好功能擴(kuò)展。課題的目的與意義隨著時(shí)代的發(fā)展和人民生活水平的提高,出差和出游已經(jīng)成為人們?nèi)粘I钪械某R?jiàn)事情

29、,大多人也喜歡到不同的地方去欣賞不一樣的景色、感受當(dāng)?shù)厝瞬煌纳罘绞?。但是,?dāng)人們獨(dú)自一人到達(dá)陌生的環(huán)境時(shí),找不著方向便成為人們常常遇到的問(wèn)題。此時(shí)人們會(huì)選擇地圖和導(dǎo)航軟件來(lái)尋找路線,但是,地圖需要人們知道自身所走的方向,而當(dāng)網(wǎng)絡(luò)不暢時(shí),導(dǎo)航軟件便失去作用,此時(shí)一個(gè)指南針軟件的出現(xiàn)顯得尤為重要。本軟件是一款指南針軟件,旨在為外出的智能手機(jī)用戶指明方向,方便大家的生活。本論文主要研究?jī)?nèi)容本論文是對(duì)基于Android的指南針軟件的設(shè)計(jì)與實(shí)現(xiàn),目的是為了在陌生環(huán)境為外出的人們提供指明方向的工具,是為了方便人們的生活。論文中介紹的指南針軟件是通過(guò)Android系統(tǒng)中的電子羅盤(pán)傳感器實(shí)現(xiàn)的,所以本論文

30、主要研究如何通過(guò)對(duì)指南針軟件界面的設(shè)計(jì)和如何通過(guò)電子羅盤(pán)傳感器(方向傳感器)實(shí)現(xiàn)。主要內(nèi)容:1綜述指南針軟件在Android平臺(tái)上的應(yīng)用及意義;2了解Android系統(tǒng)UI設(shè)計(jì)的技術(shù),;3熟悉指南針軟件的開(kāi)發(fā)環(huán)境及其測(cè)試環(huán)境; 4設(shè)計(jì)基于Android的指南針軟件開(kāi)始界面;5. 深入分析指南針的原理方法及界面的設(shè)計(jì)流程;6熟練掌握基于Android的指南針軟件的編寫(xiě);7設(shè)計(jì)與實(shí)現(xiàn)基于Android的指南針軟件。Android相關(guān)知識(shí)開(kāi)發(fā)工具EclipseEclipse 是一個(gè)開(kāi)放 HYPERLINK /subview/60376/5122159.htm t _blank 源代碼的、基于Java

31、的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。基本介紹:雖然大多數(shù)用戶很樂(lè)于將 Eclipse 當(dāng)作 Java 集成開(kāi)發(fā)環(huán)境( HYPERLINK /view/5775.htm t _blank IDE)來(lái)使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們

32、構(gòu)建與 Eclipse 環(huán)境無(wú)縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于 HYPERLINK /view/29.htm t _blank Java HYPERLINK /view/1355803.htm t _blank 開(kāi)發(fā)工具。盡管 Eclipse 是使用 HYPERLINK /view/29.htm t _blank Java語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于 Java 語(yǔ)言;例如,支持諸如 HYPERLINK /view/110727

33、4.htm t _blank C/C+、 HYPERLINK /view/90933.htm t _blank COBOL、 HYPERLINK /view/99.htm t _blank PHP等 HYPERLINK /view/552871.htm t _blank 編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse 框架還可用來(lái)作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如 HYPERLINK /view/857578.htm t _blank 內(nèi)容管理系統(tǒng)。基于 Eclipse 的應(yīng)用程序的一個(gè)突出例子是 IBM Rational Software Architect,它構(gòu)成了

34、IBM Java 開(kāi)發(fā)工具系列的基礎(chǔ)。語(yǔ)言拓展:Eclipse是著名的跨平臺(tái)的自由 HYPERLINK /view/14867.htm t _blank 集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái) HYPERLINK /view/229611.htm t _blank Java語(yǔ)言開(kāi)發(fā),通過(guò)安裝不同的插件Eclipse可以支持不同的計(jì)算機(jī)語(yǔ)言,比如C+和Python等開(kāi)發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開(kāi)發(fā)商以Eclipse為框架開(kāi)發(fā)自己的IDE。Eclipse 最初由OTI和 HYPERLIN

35、K /view/1937.htm t _blank IBM兩家公司的IDE產(chǎn)品開(kāi)發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT 和PDE。Eclipse項(xiàng)目IBM發(fā)起,圍繞著Eclipse項(xiàng)目已經(jīng)發(fā)展成為了一個(gè)龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項(xiàng)目中,其中包括 HYPERLINK /view/26122.htm t _blank Borland、Rational Software、 HYPERLINK /view/1139590.htm t _blank Red Hat及 HYPERLINK /view/1

36、18488.htm t _blank Sybase等。Eclipse是一個(gè)開(kāi)放源碼項(xiàng)目,它其實(shí)是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開(kāi)放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開(kāi)發(fā)各自的插件,因此越來(lái)越受人們關(guān)注。隨后還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,Eclipse的目標(biāo)是成為可進(jìn)行任何語(yǔ)言開(kāi)發(fā)的IDE集成者,使用者只需下載各種語(yǔ)言的插件即可。主要組成:Eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse項(xiàng)

37、目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成Eclipse Platform、JDT、CDT和PDE。JDT支持Java開(kāi)發(fā)、CDT支持C開(kāi)發(fā)、PDE用來(lái)支持插件開(kāi)發(fā),Eclipse Platform則是一個(gè)開(kāi)放的可擴(kuò)展IDE,提供了一個(gè)通用的 HYPERLINK /view/2686658.htm t _blank 開(kāi)發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成 HYPERLINK /view/973702.htm t _blank 軟件開(kāi)發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開(kāi)發(fā)與他人工具無(wú)縫集成的工具從而無(wú)須分辨一個(gè)工具功能在哪里

38、結(jié)束,而另一個(gè)工具功能在哪里開(kāi)始。Android SDK軟件開(kāi)發(fā)工具包。被軟件開(kāi)發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開(kāi)發(fā)工具的集合。因此,Android SDK 指的是Android專屬的軟件開(kāi)發(fā)工具包。Android SDK提供了Windows/Linux/Mac平臺(tái)上開(kāi)發(fā)Android應(yīng)用開(kāi)發(fā)組件,其包含了在Android平臺(tái)上開(kāi)發(fā)移動(dòng)應(yīng)用的各種工具集。Android SDK不僅包括了Android模擬器和用于Eclipse的Android開(kāi)發(fā)工具插件(ADT),而且包括了各種用來(lái)調(diào)試、打包以及在模擬器上安裝應(yīng)用的工具。Android SDK主要是以Ja

39、va為基礎(chǔ),用戶可以使用Java語(yǔ)言來(lái)開(kāi)發(fā)Android平臺(tái)上的軟件應(yīng)用。通過(guò)SDK提供的一些工具將其打包成apk文件,然后應(yīng)SDK中的模擬器來(lái)模擬和測(cè)試軟件在Android平臺(tái)上的運(yùn)行情況和效果。相關(guān)特性:其最震撼人心之處在于Android HYPERLINK /view/1683550.htm t _blank 手機(jī)系統(tǒng)的開(kāi)放性和服務(wù)免費(fèi)。Android是一個(gè)對(duì) HYPERLINK /view/287257.htm t _blank 第三方軟件完全開(kāi)放的平臺(tái),開(kāi)發(fā)者在為其開(kāi)發(fā)程序時(shí)擁有更大的自由度,突破了iPhone等只能添加為數(shù)不多的固定軟件的枷鎖;同時(shí)與 HYPERLINK /view

40、/40733.htm t _blank Windows Mobile、 HYPERLINK /view/10708.htm t _blank Symbian等廠商不同,Android操作系統(tǒng)免費(fèi)向開(kāi)發(fā)人員提供,這樣可節(jié)省近三成成本。 ADTAndroid為Eclipse訂制了一個(gè)插件,即Android Development Tools,為Android開(kāi)發(fā)提供開(kāi)發(fā)工具的升級(jí)或變更,也為用戶提供一個(gè)強(qiáng)大的綜合環(huán)境用于開(kāi)發(fā)Android應(yīng)用程序。目前 HYPERLINK /view/1241829.htm t _blank Android開(kāi)發(fā)所用的開(kāi)發(fā)工具是 HYPERLINK /subview

41、/23576/9374802.htm t _blank Eclipse,在 HYPERLINK /view/23576.htm t _blank Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開(kāi)發(fā)提供開(kāi)發(fā)工具的升級(jí)或者變更,簡(jiǎn)單理解為在Eclipse下開(kāi)發(fā)工具的升級(jí)下載工具。ADT擴(kuò)展了Eclipse的功能,可以讓用戶快速地創(chuàng)建Android項(xiàng)目,創(chuàng)建應(yīng)用程序界面,以及SDK工具集調(diào)試應(yīng)用程序。Android系統(tǒng)的特性開(kāi)放性:在優(yōu)勢(shì)方面,Android平臺(tái)首先就是其開(kāi)放性,開(kāi)放的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來(lái)。顯著的開(kāi)放性可以使其擁有更多的開(kāi)發(fā)者,隨著用戶和

42、應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。開(kāi)放性對(duì)于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來(lái)講,最大的受益正是豐富的 HYPERLINK /view/37.htm t _blank 軟件資源。開(kāi)放的平臺(tái)也會(huì)帶來(lái)更大競(jìng)爭(zhēng),如此一來(lái),消費(fèi)者將可以用更低的價(jià)位購(gòu)得心儀的手機(jī)。掙脫運(yùn)營(yíng)商的束縛:在過(guò)去很長(zhǎng)的一段時(shí)間,特別是在 HYPERLINK /view/4019352.htm t _blank 歐美地區(qū),手機(jī)應(yīng)用往往受到運(yùn)營(yíng)商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營(yíng)商的控制。自從iPhone上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營(yíng)商的制約減少。

43、隨著EDGE、HSDPA這些2G至3G HYPERLINK /view/2673982.htm t _blank 移動(dòng)網(wǎng)絡(luò)的逐步過(guò)渡和提升,手機(jī)隨意接入網(wǎng)絡(luò)已不是運(yùn)營(yíng)商口中的笑談。豐富的硬件選擇:這一點(diǎn)還是與Android平臺(tái)的開(kāi)放性相關(guān),由于Android的開(kāi)放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會(huì)影響到 HYPERLINK /view/3189918.htm t _blank 數(shù)據(jù)同步、甚至 HYPERLINK /view/37.htm t _blank 軟件的兼容。好比你從諾基亞Symbian風(fēng)格手機(jī)一下改用 HYPERLINK /view/71

44、2704.htm t _blank 蘋(píng)果iPhone,同時(shí)還可將Symbian中優(yōu)秀的 HYPERLINK /view/37.htm t _blank 軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移。不受任何限制的開(kāi)發(fā)商:Android平臺(tái)提供給第三方開(kāi)發(fā)商一個(gè)十分寬泛、自由的環(huán)境。因此不會(huì)受到各種條條框框的阻擾,可想而知,會(huì)有多少新穎別致的 HYPERLINK /view/37.htm t _blank 軟件會(huì)誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。無(wú)縫結(jié)合的Google應(yīng)用:如今叱詫互聯(lián)網(wǎng)的Google已經(jīng)走過(guò)10年度歷史。

45、從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、 HYPERLINK /view/172138.htm t _blank 郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺(tái)手機(jī)將無(wú)縫結(jié)合這些優(yōu)秀的Google服務(wù)??芍赜煤涂商鎿Q組件的程序應(yīng)用框架針對(duì)移動(dòng)設(shè)備優(yōu)化過(guò)的Dalvik虛擬機(jī)集成了基于開(kāi)源Webkit引擎的網(wǎng)頁(yè)瀏覽器經(jīng)過(guò)優(yōu)化過(guò)的自定義2D圖形庫(kù)和基于OpenGL ES 1.0庫(kù) 可選硬件加速SQLite結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫(kù)支持常規(guī)的音頻視頻多媒體格式,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF、GSM電話(硬件決定)藍(lán)牙、GPRS

46、-EDGE、3G和Wifi無(wú)線網(wǎng)絡(luò)(硬件決定)相機(jī)、GPS全球定位、導(dǎo)航和感應(yīng)加速器豐富的開(kāi)發(fā)環(huán)境包含設(shè)備模擬器、工具、調(diào)試器、內(nèi)存和性能分析工具,以及Eclipse集成開(kāi)發(fā)環(huán)境插件Android系統(tǒng)平臺(tái)架構(gòu)對(duì)操作系統(tǒng)而言,必須做到設(shè)計(jì)合理、層次分明。同時(shí)還需考慮整個(gè)系統(tǒng)的結(jié)構(gòu)要聚耦適當(dāng),Android系統(tǒng)是基于Linux內(nèi)核的,因此還具備開(kāi)源的特性,以符合開(kāi)發(fā)人員共同工作。Android操作系統(tǒng)的體系結(jié)構(gòu)可分為四層,由上到下依次是應(yīng)用程序、應(yīng)用程序框架、核心類庫(kù)和Linux內(nèi)核,其中核心類庫(kù)層還包括Android運(yùn)行時(shí)環(huán)境。系統(tǒng)架構(gòu)如圖2-1所示。圖2-1 Android系統(tǒng)平臺(tái)架構(gòu) 參照?qǐng)D

47、2-1,對(duì)系統(tǒng)各部分主要組件作以下描述。 Linux內(nèi)核Android的核心系統(tǒng)服務(wù)依賴于Linux內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。Linux內(nèi)核也同時(shí)作為硬件和軟件棧之間的硬件抽象層。Android基于Linux 2.6提供核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)模型。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù)。分層的好處就是使用下層提供的服務(wù)而為上層提供統(tǒng)一的服務(wù),屏蔽本層及以下層的差異,當(dāng)本層及以下層發(fā)生了變化不會(huì)影響到上層。也就是說(shuō)各 層各司其職,各層提供固定的SAP(Service Ac

48、cess Point),專業(yè)點(diǎn)可以說(shuō)是高內(nèi)聚、低耦合。 Android程序庫(kù)Android包括一個(gè)被Android系統(tǒng)中各種不同組件所使用的C/C+集庫(kù)。該庫(kù)通過(guò)Android應(yīng)用程序框架為開(kāi)發(fā)者提供服務(wù)。以下是一些核心庫(kù):Surface Manager:管理顯示子系統(tǒng),并且為多個(gè)應(yīng)用程序提供2D和3D圖層的無(wú)縫融合。Media Framework:基于OpenCORE的多媒體框架,支持多種常用的音頻、視頻格式文件的回放和錄制,同時(shí)支持靜態(tài)圖像文件。SQLite:一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫(kù)引擎。OpenGL ES:3D圖形庫(kù),用于3D圖形渲染,該庫(kù)可以使用3D贏家加速

49、。FreeType:位圖(Bitmap)和矢量(Vector)字體顯示。WebKit:支持Android瀏覽器和一個(gè)可嵌入的Web視圖SGL:2D圖形庫(kù),用于2D圖形渲染。LibC:一個(gè)從BSD繼承的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù),他是專門(mén)為基于嵌入式Linux設(shè)備制定的。 Android運(yùn)行庫(kù)Android運(yùn)行時(shí)由兩部分組成:Android核心庫(kù)集和Dalvik虛擬機(jī)。其中核心庫(kù)提供了Java語(yǔ)言核心庫(kù)所能使用的絕大部分功能,而虛擬機(jī)則負(fù)責(zé)運(yùn)行Android應(yīng)用程序。每個(gè)Android應(yīng)用程序都運(yùn)行在單獨(dú)的一個(gè)Dalvik虛擬機(jī)內(nèi),因此Dalvik專門(mén)針對(duì)同時(shí)高效地運(yùn)行多個(gè)虛擬機(jī)進(jìn)行了優(yōu)化,因此Andro

50、id系統(tǒng)可以方便地實(shí)現(xiàn)對(duì)應(yīng)用程序進(jìn)行隔離。實(shí)際上,JVM虛擬機(jī)運(yùn)行的是Java字節(jié)碼(通常是.class文件),但Dalvik運(yùn)行的是其專有的dex(Dalvik Executable)文件。JVM直接從.class文件或JAR包中加載字節(jié)碼然后運(yùn)行;而Dalvik則無(wú)法直接從.class文件或JAR包中加載字節(jié)碼,它需要對(duì)DX工具將應(yīng)用程序的所有.class文件編譯成.dex文件,Dalvik則運(yùn)行該.dex文件。 應(yīng)用程序框架應(yīng)用程序框架可以說(shuō)是一個(gè)應(yīng)用程序的核心,是所有參與開(kāi)發(fā)的程序員共同使用和遵守的約定,大家在其約定上進(jìn)行必要的擴(kuò)展,但程序始終保持主體結(jié)構(gòu)的一致性。其作用是讓程序保持清

51、晰和一目了然,在滿足不同需求的同時(shí)又不互相影響。Android系統(tǒng)提供給應(yīng)用開(kāi)發(fā)者的本身就是一個(gè)框架,所有的應(yīng)用開(kāi)發(fā)都必須遵守這個(gè)框架的原則。當(dāng)我們開(kāi)發(fā)Android應(yīng)用程序時(shí),就是面向底層的應(yīng)用程序框架進(jìn)行的。從這個(gè)意義上看,Android系統(tǒng)上的應(yīng)用程序時(shí)完全平等的,不管是Android系統(tǒng)提供的程序,還是普通開(kāi)發(fā)者提供的程序,他們都可以訪問(wèn)Android提供的API框架。Android應(yīng)用程序框架提供了大量API供開(kāi)發(fā)者使用。應(yīng)用程序框架可作為應(yīng)用程序開(kāi)發(fā)的基礎(chǔ)之外,也是軟件復(fù)用的重要手段,任何一個(gè)應(yīng)用程序都可發(fā)布它的功能模塊只要發(fā)布時(shí)遵守了框架的約定,那么其他應(yīng)用程序也可使用這個(gè)功能模

52、塊。 應(yīng)用程序Android系統(tǒng)發(fā)布時(shí),會(huì)同一系列核心應(yīng)用程序和常用程序一起發(fā)布,如經(jīng)常電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人等、這些應(yīng)用程序都是用Java編寫(xiě)的。Android系統(tǒng)的四大核心組件Android四大基本組件分別是Activity,Service服務(wù),Content Provider內(nèi)容提供者,BroadcastReceiver廣播接收器。不是每一個(gè)Android應(yīng)用程序都必須有這四部分組成。 Activity及其生命周期Activity通俗地講就是用戶界面,它有其自身的生命周期。一個(gè)應(yīng)用程序通常包含多個(gè)Activity,它們可以互相切換。Activity的使用需

53、要在mainfest文件中進(jìn)行聲明。 一個(gè)Activity通常是一個(gè)單獨(dú)的屏幕,Activity生命周期是指Activity從啟動(dòng)到銷(xiāo)毀的過(guò)程。系統(tǒng)中的Activity被一個(gè)Activity HYPERLINK /view/38877.htm t _blank 棧所管理。當(dāng)一個(gè)新的Activity啟動(dòng)時(shí),將被放置到棧頂,成為運(yùn)行中的Activity,前一個(gè)Activity保留在棧中,不再放到前臺(tái),直到運(yùn)行中的Activity退出為止。Activity表現(xiàn)為四種狀態(tài):活動(dòng)狀態(tài)(Active or Running):也稱為運(yùn)行狀態(tài),處于Activity棧頂,在用戶界面中最上層,完全能被用戶看到,能

54、夠與用戶進(jìn)行交互; 暫停狀態(tài)(Paused):Activity失去焦點(diǎn),Activity界面被部分遮擋,該Activity不再處于用戶界面的最上層,且不能夠與用戶進(jìn)行交互。一個(gè)暫停狀態(tài)的Activity依然保持活力(保持所有的狀態(tài),成員信息,與窗口管理器保持連接),但是在系統(tǒng)內(nèi)存不夠用的時(shí)候?qū)⒈粴⒌?;停止?fàn)顟B(tài)(Stopped):Activity在界面上完全不能被用戶看到,也就是說(shuō)這個(gè)Activity被其他Activity全部遮擋,但它依然保持所有狀態(tài)和成員信息,只是它不再可見(jiàn),它的窗口被隱藏;非活動(dòng)狀態(tài)(Killed):當(dāng)系統(tǒng)內(nèi)存需要被用在其他地方的時(shí)候,一個(gè)停止?fàn)顟B(tài)的Activity被殺掉。

55、如果一個(gè)Activity是Paused或者Stopped狀態(tài)時(shí)可以被恢復(fù),也可以被刪除。一個(gè)被刪除(殺掉)的Activity如果需要重新恢復(fù)就需要重啟。Activity的生命周期由幾個(gè)常用的覆寫(xiě)方法來(lái)實(shí)現(xiàn),分別是:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七個(gè)方法。整個(gè)生命周期,從onCreate()開(kāi)始到onDestroy()結(jié)束。Activity在onCreate()設(shè)置所有的“全局”狀態(tài),在onDestory()釋放所有的資源。例如:某個(gè)Activity有一個(gè)在后臺(tái)運(yùn)行的線程,用于從

56、網(wǎng)絡(luò)下載數(shù)據(jù),則該Activity可以在onCreate()中創(chuàng)建線程,在onDestory()中停止線程??梢?jiàn)的生命周期,從onStart()開(kāi)始到onStop()結(jié)束。在這段時(shí)間,可以看到Activity在屏幕上,盡管有可能不在前臺(tái),不能和用戶交互。在這兩個(gè)接口之間,需要保持顯示給用戶的 HYPERLINK /view/20302.htm t _blank UI數(shù)據(jù)和資源等,例如:可以在onStart中注冊(cè)一個(gè)Intent Receiver來(lái)監(jiān)聽(tīng)數(shù)據(jù)變化導(dǎo)致UI的變動(dòng),當(dāng)不再需要顯示時(shí)候,可以在onStop()中注銷(xiāo)它。onStart(),onStop()都可以被多次調(diào)用,因?yàn)锳ctivi

57、ty隨時(shí)可以在可見(jiàn)和隱藏之間轉(zhuǎn)換。前臺(tái)的生命周期,從onResume()開(kāi)始到onPause()結(jié)束。在這段時(shí)間里,該Activity處于所有 Activity的最前面,和用戶進(jìn)行交互。Activity可以經(jīng)常在resumed和paused狀態(tài)之間切換,例如:當(dāng)設(shè)備準(zhǔn)備休眠時(shí),當(dāng)一個(gè)Activity處理結(jié)果被分發(fā)時(shí),當(dāng)一個(gè)新的Intent被分發(fā)時(shí)。Activity的整個(gè)生命周期都定義在下面的接口方法中,所有方法都可以被重載。所有的Activity都需要實(shí)現(xiàn) onCreate()去初始化設(shè)置,大部分Activity需要實(shí)現(xiàn)onPause()去提交更改過(guò)的數(shù)據(jù),當(dāng)前大部分的Activity也需要實(shí)

58、現(xiàn)onFreeze()接口,以便恢復(fù)在onCreate()里面設(shè)置的狀態(tài)。圖2-2展示了上述Activity生命周期以及Activity在這些方法過(guò)程之中經(jīng)歷的狀態(tài)改變。圖2-2 Activity生命周期過(guò)程及歷經(jīng)的狀態(tài)改變 Service及其生命周期Service不像Activity那樣,它不直接與用戶進(jìn)行交互,沒(méi)有用戶界面,能長(zhǎng)期在后臺(tái)運(yùn)行,且比Activity具有更高的優(yōu)先級(jí),在系統(tǒng)資源緊張時(shí)不會(huì)輕易被Android系統(tǒng)終止。每個(gè)服務(wù)都是從Service基類中派生的。service可以通過(guò)兩種方式創(chuàng)建:startService()和bindService().startService()

59、:一般用于在后臺(tái)上傳文件或者下載文件等,不跟其他組件通信,就算啟動(dòng)它的應(yīng)用被銷(xiāo)毀了,它仍然會(huì)歡快的在后臺(tái)執(zhí)行,直到完成任務(wù)的時(shí)候自刎(自己調(diào)用stopSelf())或者被其他人下黑手(調(diào)用stopService().bindService():允許其他組件跟它進(jìn)行通信,允許多個(gè)客戶端綁定到同一個(gè)service上,當(dāng)所有的客戶端都解除綁定后,該service就銷(xiāo)毀了。service的生命周期主要是跟這4個(gè)回調(diào)函數(shù)相關(guān),onCreate()、onStartCommend()、onBind()、onDestory()。如下圖所示:圖2-3 Service生命周期過(guò)程及歷經(jīng)的狀態(tài)改變 BroadCas

60、tRececiver介紹Android系統(tǒng)中有各式各樣的廣播,當(dāng)系統(tǒng)/應(yīng)用程序運(yùn)行時(shí)便會(huì)向Android注冊(cè)各種廣播,主要有兩種注冊(cè)類型:第一種是非常駐型廣播,此類廣播會(huì)伴隨應(yīng)該程序的生命周期;第二種是常駐型廣播,此類廣播不會(huì)隨應(yīng)用程序是否關(guān)閉而存在,只要有廣播就會(huì)被系統(tǒng)調(diào)用自動(dòng)運(yùn)行。Android系統(tǒng)接收到廣播后便會(huì)對(duì)廣播進(jìn)行判斷,并找出所需事件,然后向不同應(yīng)用程序注冊(cè)事件。一個(gè)廣播接收者有一個(gè)回調(diào)方法:void onReceive(ContextcurContext, Intent broadcastMsg)。當(dāng)一個(gè)廣播消息到達(dá)接收者是,Android調(diào)用它的onReceive()方法并傳

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論