版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)(論文)報(bào)告紙畢 業(yè) 設(shè) 計(jì) 說 明 書課題名稱基于Android的記事本應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)院 系計(jì)算機(jī)與軟件學(xué)院專 業(yè)計(jì)算機(jī)多媒體技術(shù)班 級(jí)計(jì)媒1011學(xué) 號(hào)1002553136學(xué)生姓名 指導(dǎo)教師: 2013年 5 月 30日計(jì)算機(jī)與軟件學(xué)院畢業(yè)設(shè)計(jì)(論文)誠信承諾 我謹(jǐn)在此承諾:本人所寫的畢業(yè)論文基于Android的記事本應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn),系本人獨(dú)立完成,沒有抄襲行為,凡涉及其他作者的觀點(diǎn)和材料,均作了注釋與說明,若有不實(shí),后果由本人承擔(dān)。承諾人(簽名): 年 月 日畢業(yè)設(shè)計(jì)(論文)報(bào)告紙摘要隨著移動(dòng)通信與Internet的飛速發(fā)展及相互融合,GPRS使無線網(wǎng)絡(luò)高速接入到Intern
2、et成為現(xiàn)實(shí),移動(dòng)用戶從而可以享受到Internet提供的服務(wù)。這樣,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。本文首先給出了應(yīng)用研究背景,對(duì)當(dāng)前手機(jī)操作系統(tǒng)發(fā)展做了簡單的介紹。進(jìn)而詳細(xì)的分析了Android的特征、架構(gòu)、以及Android應(yīng)用的構(gòu)成和工作機(jī)制,并對(duì)Android于其他手機(jī)操作系統(tǒng)進(jìn)行了比較,說明了Android在手機(jī)操作系統(tǒng)中的優(yōu)勢(shì)。本系統(tǒng)采用Eclipse開發(fā),使用SQLite數(shù)據(jù)庫,主要用于手機(jī)記錄使用,可以記錄下人們認(rèn)為比較重要的事情,幫助記憶較差的人們更好的記住某件重要的事或某個(gè)會(huì)議。使用該應(yīng)用快速,便捷,很大程度上的幫助人們記憶力,不再擔(dān)心會(huì)忘了某件重大
3、的事情,所以它又被稱之為“便簽”。在當(dāng)今社會(huì),手機(jī)記事本深受人們的喜愛。關(guān) 鍵 詞:Android;Eclipse;SQLite;移動(dòng)便簽;移動(dòng)客戶端1畢業(yè)設(shè)計(jì)(論文)報(bào)告紙AbstractWith the rapid development of mobile communication and Internet and mutual fusion, GPRS high-speed wireless network access to the Internet to become a reality, mobile users can enjoy the services provided
4、by Internet. In this way, the mobile terminal is not only the communication terminal, also will become the Internet terminal. This paper gives the system the research background, the development of mobile phone operating system to do a simple introduction. Then a detailed analysis of the Android fea
5、tures, architecture, and the Android application structure and working mechanism of Android, and other mobile phone operating system are compared, the Android in the mobile phone operating system advantage. The system uses the Eclipse development, using the SQLite database, mainly used in mobile pho
6、ne records, can record the people think the more important things, better help poor people memory to remember something important or a meeting. The application of fast, convenient, largely with the help of memory, no longer worry will forget something important things, so it is also called the "
7、;notes". In today's society, mobile phone Notepad, loved by the people, especially the girls. Key Words:Android;Eclipse;SQLite;Mobile note ; Client1目 錄摘要IAbstractII1 引言11.1 課題背景11.2 手機(jī)操作系統(tǒng)的發(fā)展現(xiàn)狀21.3 主要智能手機(jī)操作系統(tǒng)的前景展望62.Android的架構(gòu)分析82.1 Android特征82.2 Android架構(gòu)92.2.1.關(guān)鍵應(yīng)用程序92.2.2.應(yīng)用程序框架102.
8、2.3.系統(tǒng)運(yùn)行庫102.3 Android應(yīng)用的構(gòu)成和工作機(jī)制112.4 Android與其他手機(jī)操作系統(tǒng)的比較122.5 Android的總結(jié)分析133 Android應(yīng)用程序結(jié)構(gòu)剖析143.1 Android的API143.2 Android應(yīng)用程序結(jié)構(gòu)解析153.2.1 活動(dòng)Activity153.2.2 Intent163.2.3 服務(wù)163.2.4 Content Provider173.3 Intent詳細(xì)解析173.3.1 Intent抽象描述173.3.2 Android如何解析Intent183.4 Android活動(dòng)Activity的生命周期193.4.1活動(dòng)的生命狀態(tài)1
9、93.4.2活動(dòng)的運(yùn)作流程214.應(yīng)用的總體框架234.1應(yīng)用需求分析234.2應(yīng)用主要功能概述234.2.1應(yīng)用主界面244.2.2信息新建功能244.2.3信息修改,刪除功能244.2.4信息分享功能244.2.5數(shù)據(jù)統(tǒng)計(jì)244.3記事本存儲(chǔ)實(shí)現(xiàn)245詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)265.1記事本邏輯設(shè)計(jì)265.2.詳細(xì)設(shè)計(jì)265.2.1研究目標(biāo)265.2.2小魚記事本功能流程圖275.3應(yīng)用程序功能實(shí)現(xiàn)275.3.1應(yīng)用主界面實(shí)現(xiàn)過程285.3.2信息新建功能實(shí)現(xiàn)295.3.3下拉列表功能實(shí)現(xiàn)305.3.4信息保存功能實(shí)現(xiàn)315.3.5信息修改功能實(shí)現(xiàn)325.3.6信息刪除功能實(shí)現(xiàn)345.3.7信息分享
10、功能實(shí)現(xiàn)355.4結(jié)束語36致 謝37參考文獻(xiàn)38附 錄 139IV1 引言1.1 課題背景隨著移動(dòng)通信的發(fā)展以及互聯(lián)網(wǎng)向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶對(duì)移動(dòng)終端的要求越來越高,而Symbian,windows Mobile,Palm OS等手機(jī)平臺(tái)過于封閉,不能很好的滿足用戶的需求,因此市場(chǎng)迫切需要一個(gè)開放性很強(qiáng)的平臺(tái)。Android是一套真正意義上的開放性移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android是由Linux+Java 構(gòu)成的開源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā)。Android 平臺(tái)的開放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)自身)的創(chuàng)新,又有助于降低開發(fā)
11、成本,還可以使運(yùn)營商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿?。?jīng)過多年的發(fā)展,第三代數(shù)字通信( 3G)技術(shù)獲得了廣泛的接受,它為移動(dòng)終端用戶帶來了更快的數(shù)據(jù)傳輸速率。隨著3G網(wǎng)絡(luò)的使用,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。因此,移動(dòng)終端的應(yīng)用軟件和需要的服務(wù)將會(huì)有很大的發(fā)展空間。 Google與包括中國移動(dòng)、摩托羅拉在內(nèi)的三十多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成的開發(fā)聯(lián)盟為此于2007年11月推出了一個(gè)專為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái)Android。Android最大特點(diǎn)在于它是一個(gè)開放的體系架構(gòu),具有非常好的開發(fā)和調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),
12、Android里面具有非常豐富的圖形系統(tǒng), 對(duì)多媒體的支持功能和非常強(qiáng)大的瀏覽器。Android 是一套真正意義上的開發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android 是由Linux+Java構(gòu)成的開源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā)。Android平臺(tái)的開放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)本身)的創(chuàng)新,又有助于降低開發(fā)成本,還可以是運(yùn)營商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿?。根?jù)中國互聯(lián)網(wǎng)信息中心(CNNIC)發(fā)布的第22次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告顯示,截止2008年6月底,我國網(wǎng)民數(shù)量達(dá)到了2.53億,首次大幅超過
13、美國,網(wǎng)民規(guī)模躍居世界第一位,其中手機(jī)網(wǎng)民達(dá)到7305萬,手機(jī)上網(wǎng)成為網(wǎng)絡(luò)接入的一個(gè)重要發(fā)展方向。本課題的目的在于掌握J(rèn)ava手機(jī)應(yīng)用開發(fā)技術(shù)和移動(dòng)軟件平臺(tái)開發(fā)技術(shù)。在以Java語言為基礎(chǔ),結(jié)合Android移動(dòng)開發(fā)平臺(tái),并利用Android提供的SDK,完成在Android平臺(tái)上運(yùn)行的手機(jī)相冊(cè)圖片瀏覽器軟件,形成一款具有一定瀏覽照片以及分享照片等功能的手機(jī)應(yīng)用軟件。本課題的意義在于通過開發(fā)一款簡易手機(jī)相冊(cè)瀏覽器的手機(jī)應(yīng)用軟件,可以熟練應(yīng)用Android平臺(tái)提供的應(yīng)用程序接口,掌握Android平臺(tái)上的各種應(yīng)用。1.2 手機(jī)操作系統(tǒng)的發(fā)展現(xiàn)狀智能手機(jī)操作系統(tǒng)的主要特點(diǎn)是其對(duì)用戶具有一定的開放性
14、,這種開放性可集中體現(xiàn)在手機(jī)操作系統(tǒng)允許用戶自行安裝可兼容的應(yīng)用軟件。目前主要的智能手機(jī)操作系統(tǒng)有諾基亞主導(dǎo)的Symbian、Linux平臺(tái)陣營(較具代表性的有諾基亞主導(dǎo)的Maemo、Google主導(dǎo)的Andriod以及LiMo聯(lián)盟的LiMo平臺(tái))、微軟的Widows Mobile、Apple的Max OS X、Palm的Palm WebOS以及RIM針對(duì)Blackberry手機(jī)的Blackberry OS等,除此之外,新的智能手機(jī)操作系統(tǒng)正陸續(xù)加入競爭行列,如三星公司剛剛發(fā)布了其自有智能手機(jī)操作系統(tǒng)Bada OS。根據(jù)源代碼、內(nèi)核和
15、應(yīng)用環(huán)境等的開放程度,智能手機(jī)操作系統(tǒng)可分為開放型平臺(tái)和封閉型平臺(tái)兩大類:Maemo、LiMo和Andriod屬于開放型平臺(tái),當(dāng)然這三者的開放程度有差異;而Widows Mobile、Mac OS X、Palm WebOS、Blackberry OS等都是封閉型平臺(tái),而Symbian則處于從封閉向開放轉(zhuǎn)型階段,2008年前Symbian處于封閉狀態(tài),2008年被諾基亞全資收購后轉(zhuǎn)向開源,但基于開源Symbian的終端產(chǎn)品還沒有上市。從智能手機(jī)出貨量來看,全球智能手機(jī)操作系統(tǒng)市場(chǎng)保持穩(wěn)步增長,根據(jù)IDC的統(tǒng)計(jì)報(bào)告,2009年第三季度全球智能手機(jī)出
16、貨量達(dá)到了4330萬部,不僅達(dá)到了單季出貨量的歷史新高,而且分別實(shí)現(xiàn)4.2和3.2的同比增長率和環(huán)比增長率。從市場(chǎng)格局上看,Symbian近兩年市場(chǎng)份額持續(xù)下滑但目前仍然領(lǐng)先;Mac OS X和Blackberry OS近兩年快速發(fā)展,兩者合計(jì)市場(chǎng)份額已超過Symbian;Andriod進(jìn)入2009年以來異軍突起,市場(chǎng)份額上跟Widows Mobile的差距正不斷縮小;Palm WebOS則始終無法取得新的突破,市場(chǎng)份額較小。據(jù)Garner針對(duì)2009年第三季度全球智能手機(jī)出貨量的統(tǒng)計(jì)數(shù)據(jù),Symbian市場(chǎng)份額從2008年同期的49.7%下滑
17、至44.6%;Windows Mobile市場(chǎng)份額為7.9%,同比下滑28%;而Mac OS X市場(chǎng)份額從2008年同期的12.9%上升至17.1%;Blackberry OS市場(chǎng)份額也從2008年同期的16%增至20.8%;Android的市場(chǎng)份額則快速上升到3.9%并超過Palm WebOS。(1)SymbianSymbian公司最初于1998年由諾基亞、愛立信、摩托羅拉和Psion合資成立,隨后Sony、松下等公司陸續(xù)加入。自2000年首款基于Symbian操作系統(tǒng)的手機(jī)上市后,Symbian平臺(tái)目前已發(fā)展到9.X版本,而且具有Serie
18、s60、Series80、Series90和UIQ等多種針對(duì)不同硬件平臺(tái)的界面,其中Series60是應(yīng)用最廣、市場(chǎng)占有率最高的界面產(chǎn)品。Symbian的發(fā)展優(yōu)勢(shì)基于手機(jī)操作的長期優(yōu)化積累以及諾基亞等在智能手機(jī)市場(chǎng)領(lǐng)先的終端廠商支持,而且Symbian還擁有廣泛的軟件/應(yīng)用開發(fā)支持,但是由于系統(tǒng)代碼、體系結(jié)構(gòu)等特點(diǎn),Symbian對(duì)新的手機(jī)硬件(如高速處理器、大尺寸屏幕)和軟件(如Firefox等第三方瀏覽器)支持已顯乏力跡象?;谕ヂ?lián)網(wǎng)公司轉(zhuǎn)型等戰(zhàn)略考慮、諾基亞2008年利用其在Symbian終端市場(chǎng)份額上的絕對(duì)優(yōu)勢(shì)全資收購了Symbian,為了應(yīng)對(duì)Andriod開源模式并降低其它原Sym
19、bian公司股東反對(duì)諾基亞全資收購的阻力,諾基亞同時(shí)宣布Symbian轉(zhuǎn)向開源發(fā)展。然而,Symbian開源的實(shí)際進(jìn)程相當(dāng)緩慢,除了諾基亞不夠積極外,其它終端廠商出于競爭目的(畢竟諾基亞是直接的競爭對(duì)手)也缺乏大力支持Symbian的意愿,索愛、摩托羅拉等原Symbian陣營的重要力量都已轉(zhuǎn)向Windows Mobile和Andriod等平臺(tái)。整體上看,Symbian已進(jìn)入發(fā)展調(diào)整期,諾基亞的策略、自身開源的進(jìn)程等都將影響其未來發(fā)展。(2)Mac OS X隨著iPhone的更新?lián)Q代,Mac OS X目前已發(fā)展到第三代的3.X版本。作為iPhon
20、e專用的手機(jī)平臺(tái),Mac OS X能夠有效支持iPhone的硬件并具有較強(qiáng)的娛樂功能/應(yīng)用和互聯(lián)網(wǎng)訪問支持。另外,2008年7月Apple公司開通了針對(duì)iPhone的應(yīng)用軟件商店APP Store,從而提升了Mac OS X的影響力。在iPhone的良好銷售量推動(dòng)下,APP Store取得了快速發(fā)展,截至2009年11月底,App Store內(nèi)的軟件數(shù)量已經(jīng)超過10萬款,市場(chǎng)覆蓋包括中國在內(nèi)的77個(gè)國家和地區(qū),參與軟件開發(fā)計(jì)劃的開發(fā)者和開發(fā)商數(shù)量則超過12.5萬。在APP Store的共20類軟件中,游戲類、娛樂類
21、和書籍類處于前三位,分別占19.4、16和11.7。綜合來看,Mac OS X是現(xiàn)階段在娛樂和互聯(lián)網(wǎng)應(yīng)用方面相對(duì)領(lǐng)先的手機(jī)平臺(tái)。(3)Blackberry OS近兩年Blackberry在智能手機(jī)市場(chǎng)的份額之所以增長迅速,除了RIM的手機(jī)郵件服務(wù)保持了競爭力外,Blackberry手機(jī)不斷豐富的功能和應(yīng)用也是主要的驅(qū)動(dòng)因素。2009年4月,RIM公司開通了針對(duì)Blackberry手機(jī)的應(yīng)用商店,RIM對(duì)應(yīng)用商店采取了比Apple的APP Store更優(yōu)惠的收入分成政策,軟件/應(yīng)用銷售收入的80歸開發(fā)者(高于APP Store的70相應(yīng)分成比例)
22、,剩下的20由RIM與通信運(yùn)營商進(jìn)行再分成。從功能來看,Blackberry OS的優(yōu)勢(shì)在于商務(wù)和集成應(yīng)用上,而對(duì)游戲等娛樂功能的支持要稍弱于Mac OS X,不過,這些都是RIM對(duì)Blackberry手機(jī)的主要定位所根本決定的。(4)Linux陣營由于Linux一開始就采取開源模式,基于Linux的智能手機(jī)平臺(tái)種類較為豐富,但由于長期缺乏主流的產(chǎn)業(yè)領(lǐng)導(dǎo)力量,Linux陣營內(nèi)部分化嚴(yán)重,各廠商開發(fā)的手機(jī)平臺(tái)互不兼容,這反而弱化了Linux陣營在智能手機(jī)平臺(tái)領(lǐng)域的影響力。然而,自從LiMo和OHA兩大Linux聯(lián)盟成立后,Linux陣營正開始進(jìn)入重新整合的新發(fā)展階段
23、。LiMo成立于2007年1月,成員包括終端廠商、移動(dòng)運(yùn)營商、芯片制造商及其他相關(guān)企業(yè),截至2009年10月底,基于LiMo平臺(tái)的手機(jī)累計(jì)上市44款。然而,LiMo平臺(tái)只面向聯(lián)盟成員公開,并非完全的開放。與LiMo相比,OHA及其主推手機(jī)平臺(tái)Andriod的發(fā)展速度更快。2007年11月Google發(fā)起成立OHA并宣布推出手機(jī)平臺(tái)Andriod,目前OHA的成員已超過50家,其中相當(dāng)部分成員也是LiMo的成員。2008年10月,隨著第一部基于Andriod的手機(jī)(即HTC的G1)上市,Andriod也開始了正式商用。從正式商用的1.1版本起,Andriod已經(jīng)歷1.5、1.6、2.0等重大版本
24、的升級(jí)改進(jìn),而基于Andriod的終端型號(hào)也在加速豐富,2008年底Andriod手機(jī)只有幾款,到2009年8月底已經(jīng)增加到42款,而到2009年10月已經(jīng)超過80款。從手機(jī)銷售看,截至2009年8月底,全球Andriod手機(jī)已銷售超過300萬部,按照目前的銷售速度,到2009年底的累計(jì)銷售數(shù)量將達(dá)到650萬部,屆時(shí)其在智能手機(jī)市場(chǎng)的份額將進(jìn)一步提高。在應(yīng)用開發(fā)方面,2008年google針對(duì)Andriod移動(dòng)終端平臺(tái)建設(shè)了Andriod Market應(yīng)用商店,經(jīng)過一年的發(fā)展后,目前Andriod Market的應(yīng)用已經(jīng)超過2萬個(gè),雖然這還遠(yuǎn)遠(yuǎn)落后于APP Sro
25、re,但隨著Andriod 手機(jī)銷量的不斷增長,Andriod Market的潛力仍不可忽視。(5)Windows MoblieWindows Moblie的前身WinCE早在1996年就已推出,微軟也曾一度在智能手機(jī)終端操作系統(tǒng)市場(chǎng)領(lǐng)先,但后來由于缺乏持續(xù)的有力投入,尤其近兩年遇到Mac OS X和Andriod等新興的競爭對(duì)手,Windows Moblie的市場(chǎng)份額在不斷下滑。Windows Moblie處于競爭劣勢(shì)的因素主要有:首先是微軟作為純軟件公司對(duì)芯片、終端等制造環(huán)節(jié)的影響力還比較有限,而且Window
26、s Moblie較高的授權(quán)費(fèi)用降低了其對(duì)終端廠商的吸引力;其次是Windows Mobile應(yīng)用豐富性也落后于Symbian、Mac OS X和Andriod等平臺(tái):雖然微軟在個(gè)人PC操作系統(tǒng)市場(chǎng)擁有近90的份額并擁有對(duì)主流應(yīng)用的較強(qiáng)把控能力,但由于手機(jī)處理器、屏幕等跟PC存在較大差異,大部分PC上的軟件應(yīng)用無法直接在Windows Moblie手機(jī)上運(yùn)行,而微軟過去長時(shí)期內(nèi)也一直缺乏對(duì)Windows Moblie應(yīng)用開發(fā)的主動(dòng)有力支持,盡管2009年10月微軟終于開通了Windows Moblie應(yīng)用商店,可這個(gè)商店暫時(shí)只
27、支持Windows Moblie6.5版本,對(duì)Windows Moblie目前最常用的6.1版本還不能支持,而且商店的功能、對(duì)開發(fā)者的支持等都跟APP Store有一定差距,因此截至2009年11月商店中的應(yīng)用程序仍不到500個(gè)。(6)Palm Web OSWeb OS是Palm公司最新的智能手機(jī)Palm Pre的操作系統(tǒng),Palm Pre是早于iPhone 3GS上市的采用雙核處理器的高端智能手機(jī),但由于Palm手機(jī)的市場(chǎng)影響力主要在美國市場(chǎng),而且合作運(yùn)營商Sprint的較差業(yè)績一定程度上影響了Palm
28、 Pre的銷售,這些都阻礙了Web OS提高自身在智能手機(jī)操作系統(tǒng)市場(chǎng)的份額。2009年9月Palm公司開通了針對(duì)基于Web OS平臺(tái)的應(yīng)用商店App Catalog,而且采取跟APP Store相同的收入分成政策,但手機(jī)銷售量的有限使業(yè)界的響應(yīng)較為平淡。(7)小結(jié)從整體來看,在目前智能手機(jī)操作系統(tǒng)市場(chǎng)中,Symbian依靠前期的基礎(chǔ)仍暫時(shí)處于市場(chǎng)領(lǐng)先地位,Mac OS X和Blackberry OS依靠終端熱銷使市場(chǎng)份額持續(xù)穩(wěn)步提升,Andriod代表的Linux陣營依靠開源的優(yōu)勢(shì)正異軍突起,而Windows
29、160;Moblie由于授權(quán)費(fèi)、應(yīng)用商店滯后等因素暫時(shí)面臨較被動(dòng)的競爭形勢(shì),Palm WebOS則還在為避免被市場(chǎng)邊緣化而努力。1.3 主要智能手機(jī)操作系統(tǒng)的前景展望作為智能手機(jī)產(chǎn)業(yè)鏈的一個(gè)環(huán)節(jié),操作系統(tǒng)市場(chǎng)的演變受到操作系統(tǒng)自身發(fā)展、終端廠商參與力度、應(yīng)用豐富程度、電信運(yùn)營商的支持等因素影響,因此,可以從手機(jī)操作系統(tǒng)自身發(fā)展、市場(chǎng)走向以及產(chǎn)業(yè)格局等方面去綜合看待現(xiàn)有主要智能手機(jī)操作系統(tǒng)的前景。首先,從操作系統(tǒng)自身發(fā)展的角度看,性能、功能及兼容性仍是各種平臺(tái)競爭的焦點(diǎn)。隨著1Ghz處理器、4寸以上高分辨率屏幕以及大容量存儲(chǔ)器的不斷普及,良好支持最新的硬件已成為智能手機(jī)操作系
30、統(tǒng)應(yīng)具備的基本特點(diǎn)。在手機(jī)和業(yè)務(wù)功能支持上,由于良好的軟硬件整合能力是影響功能研發(fā)和體驗(yàn)的重要因素,預(yù)計(jì)Mac OS X、Blackberry OS等平臺(tái)由于其所有者擁有終端、平臺(tái)產(chǎn)品并掌控應(yīng)用環(huán)節(jié),將在功能創(chuàng)新上獲得一定的有利地位。兼容性問題是一直困擾智能手機(jī)操作系統(tǒng)的共同問題,不僅現(xiàn)有不同平臺(tái)互不兼容(即應(yīng)用需要為不同平臺(tái)開發(fā)不同的版本),相同平臺(tái)的不同版本往往也無法實(shí)現(xiàn)后向兼容,針對(duì)老版本平臺(tái)開發(fā)的應(yīng)用軟件無法在新版本平臺(tái)上運(yùn)行的情況比比皆是,而從桌面PC操作系統(tǒng)的發(fā)展發(fā)展實(shí)踐看,相同平臺(tái)下保持一定周期的后向兼容性是非常必要的,因此首先有效解決兼容性問題的平
31、臺(tái)將有望在應(yīng)用環(huán)節(jié)取得競爭優(yōu)勢(shì)。其次,從市場(chǎng)走向來看,未來一段時(shí)期內(nèi)智能手機(jī)操作系統(tǒng)市場(chǎng)被若干主要產(chǎn)品瓜分的可能性較大,這是由各產(chǎn)品都有優(yōu)劣勢(shì)和各自代表的產(chǎn)業(yè)鏈都具相當(dāng)實(shí)力的特點(diǎn)所決定的。Symbian面臨開源進(jìn)程緩慢、自身性能/功能趨向落后以及跟諾基亞關(guān)系處理等一系列問題,要重新取得當(dāng)初的絕對(duì)領(lǐng)先地位難度很大。作為封閉系統(tǒng),Mac OS X、Blackberry OS、Palm OS的市場(chǎng)表現(xiàn)完全取決于其終端銷售情況,無論從Apple和RIM的公司實(shí)力還是其終端產(chǎn)品線看,這三個(gè)平臺(tái)都將面臨現(xiàn)實(shí)的發(fā)展邊界問題(即市場(chǎng)份額上升到一定數(shù)量級(jí)后就難以繼續(xù)提高)
32、。Linux陣營由于開源特點(diǎn)以及較良好的應(yīng)用開發(fā)基礎(chǔ),如果能夠有效地解決產(chǎn)業(yè)鏈整合以及開源帶來的版本眾多、兼容性難以保障等問題,其市場(chǎng)潛力將有望加速被釋放。Windows Mobile的發(fā)展前景不容樂觀,作為一種封閉、需要收取較高授權(quán)費(fèi)、其所有者缺乏終端產(chǎn)品而且平臺(tái)性能跟領(lǐng)先者存在相當(dāng)差距的平臺(tái),Windows Mobile跟上述操作系統(tǒng)競爭都在不同方面存在劣勢(shì),近兩年其市場(chǎng)份額不斷下滑已驗(yàn)證了這一點(diǎn),要扭轉(zhuǎn)這種不利的發(fā)展態(tài)勢(shì),Windows Mobile需要在改革授權(quán)制度、加快新產(chǎn)品上市、加強(qiáng)應(yīng)用開發(fā)支持等方面綜合努力。最后,結(jié)合整個(gè)智能手機(jī)及相關(guān)產(chǎn)業(yè)格局看,未
33、來各方力量會(huì)圍繞智能手機(jī)操作系統(tǒng)展開新的持續(xù)競爭和博弈。由于其所有者的終端銷售業(yè)績良好及應(yīng)用環(huán)境建設(shè)較為順利,Mac OS X、Blackberry OS預(yù)計(jì)將維持現(xiàn)有封閉而且從終端操作系統(tǒng)應(yīng)用全環(huán)節(jié)掌控的發(fā)展模式。Andriod發(fā)展初期受部分功能不完善、應(yīng)用較薄弱等因素影響,相當(dāng)有實(shí)力的終端廠商持觀望態(tài)度,而態(tài)度較積極的普通終端廠商又受技術(shù)研發(fā)實(shí)力制約面臨較高的進(jìn)入門檻;但隨著Andriod在2009年加速完善,不僅越來越多的主流終端廠商加入,而且不少生產(chǎn)灰色手機(jī)的終端廠商也在積極研發(fā)基于Andriod的終端,Andriod手機(jī)有可能成為未來灰色智能手機(jī)市場(chǎng)的重
34、要力量。另外,中國移動(dòng)基于Andriod開發(fā)了自有手機(jī)操作系統(tǒng)OMS并建設(shè)了與之對(duì)應(yīng)的應(yīng)用商店Mobile Market,從而力求在電信運(yùn)營商圍繞移動(dòng)互聯(lián)網(wǎng)的競爭中取得主動(dòng),但由于Andriod本質(zhì)上由Google主導(dǎo),而OMS由中國移動(dòng)主導(dǎo),這兩種產(chǎn)品運(yùn)作模式的關(guān)系仍有一些不清晰的地方,例如,Andriod仍在快速升級(jí)版本,OMS的升級(jí)速度則比較緩慢,未來Andriod跟OMS之間的兼容性就不容樂觀,OMS也會(huì)淪為事實(shí)上半封閉的系統(tǒng),也正是這些原因,其他運(yùn)營商對(duì)中國移動(dòng)的OMS模式仍持觀望態(tài)度。Symbian雖然在開源及未來發(fā)展方面有一定不確定性,但一旦順利進(jìn)入開源發(fā)展階段,由于S
35、ymbian擁有較良好的主流硬件平臺(tái)支持、成熟的程序開發(fā)基礎(chǔ)及豐富的免費(fèi)應(yīng)用,如果屆時(shí)采取免費(fèi)授權(quán)策略,Symbian會(huì)對(duì)普通終端廠商采用其研發(fā)入門級(jí)的智能手機(jī)有相當(dāng)?shù)奈?,而部分運(yùn)營商也可能基于Symbian開發(fā)自有的手機(jī)平臺(tái)并建設(shè)與之相當(dāng)應(yīng)的應(yīng)用軟件環(huán)境,這也跟中國移動(dòng)在OMS上的舉措類似。Palm OS封閉但功能較完善而且在美國市場(chǎng)有一定影響力的特點(diǎn),使其對(duì)強(qiáng)勢(shì)的電信運(yùn)營商、終端廠商都會(huì)產(chǎn)生一定的吸引力:強(qiáng)勢(shì)的電信運(yùn)營商可通過收購Palm OS作為真正自有的智能手機(jī)主流平臺(tái)并建設(shè)相應(yīng)的應(yīng)用環(huán)境,以提升自身在移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的主動(dòng)權(quán),而原來在智能手機(jī)市場(chǎng)表現(xiàn)一般甚至尚未
36、大規(guī)模介入的終端廠商,如果收購獲得Palm OS則有望縮短操作系統(tǒng)研發(fā)以及競爭力形成的周期。2.Android的架構(gòu)分析Android是一個(gè)移動(dòng)設(shè)備的軟件平臺(tái),是由Linux+Java構(gòu)成的開源軟件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四個(gè)部分在內(nèi)的全套手機(jī)軟件方案。它開放了基于Linux內(nèi)核以上的開發(fā)工具,從而保證了內(nèi)容的可移植性和多樣性。Android平臺(tái)為我們開發(fā)應(yīng)用程序提供了一套很好的框架,我們可以在這個(gè)平臺(tái)的基礎(chǔ)上開發(fā)不同的應(yīng)用程序,也可以開發(fā)新的組件供應(yīng)用程序調(diào)用。2.1 Android特征應(yīng)用框架:用于開發(fā)可重用、可替代的組
37、件。Dalvik虛擬機(jī):Android采用的Java虛擬機(jī)是自主開發(fā)的代號(hào)為Dalvik的虛擬機(jī)技術(shù),在保證API方面兼容的同時(shí)Dalvik針對(duì)移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。內(nèi)嵌瀏覽器:基于開源的瀏覽器網(wǎng)頁排版引擎WebKit。優(yōu)化的圖形:強(qiáng)大的自定義二維圖形庫?;贠penGL ES 1.0標(biāo)準(zhǔn)的3D圖形功能,在移動(dòng)3D開發(fā)中有著至關(guān)重要的地位。SQLite數(shù)據(jù)庫:SQLite提供結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。它是一款輕型免費(fèi)的且開源的數(shù)據(jù)庫,它的設(shè)計(jì)目標(biāo)是嵌入式的,它占用的資源非常低、需要的內(nèi)存空間少、處理速度比較快和支持事務(wù)處理功能等。多媒體支持:支持各種通用的音頻、視頻和靜態(tài)
38、圖像格式,如MP3、JPG、PNG等。Open Core是Android多媒體框架的核心,所有Android平臺(tái)的音頻和視頻采集、播放的操作都是通過它來實(shí)現(xiàn)的。通過Open Core,程序員可以方便快速的開發(fā)出想要的多媒體應(yīng)用程序。GSM技術(shù):(依賴硬件)Global System for Mobile Communications,全球通訊系統(tǒng),俗稱“全球通”,是第二代移動(dòng)通信技術(shù),其開發(fā)目的是讓全球各地可以共同使用一個(gè)移動(dòng)電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機(jī)就能行遍全球。藍(lán)牙,EDGE,3G and WiFi:(依賴硬件)藍(lán)牙和Wi-Fi都是一種短距離的無線連接技術(shù),在短距離內(nèi)可以實(shí)現(xiàn)話音和數(shù)
39、據(jù)的無線傳輸。EDGE(Enhanced Data Rate for GSM Evolution),是增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)技術(shù)。Cameram,GPS,compass,andaccelerometer:(依賴硬件)GPS(Global Positioning System),即全球定位系統(tǒng)。它是由一個(gè)由覆蓋全球的24顆衛(wèi)星組成的衛(wèi)星系統(tǒng)。Compass是一個(gè)開放源碼的Java搜索引擎框架。強(qiáng)大的開發(fā)環(huán)境:包括一個(gè)設(shè)備模擬器,調(diào)試工具,內(nèi)存和性能檢測(cè),以及Eclipse IDE的開發(fā)插件。Eclipse是個(gè)集成開放環(huán)境。2.2 Android架構(gòu)Android的架構(gòu)是由Linux內(nèi)核、C/C
40、+函數(shù)庫、Dalvik虛擬機(jī)、應(yīng)用框架以及關(guān)鍵應(yīng)用程序構(gòu)成的。通過編譯基于框架的應(yīng)用程序可以降低開發(fā)負(fù)荷。應(yīng)用軟件原則上是在DalvikVM上運(yùn)行的。 圖2.1 Android架構(gòu)2.2.1.關(guān)鍵應(yīng)用程序 Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。2.2.2.應(yīng)用程序框架開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框
41、架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括; 豐富而又可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序, 它包括列表(lists),網(wǎng)格(grids),文本框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。 內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù) 資源管理器(Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和布局文件( layout files )。 通知管理
42、器 (Notification Manager) 使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。 活動(dòng)管理器( Activity Manager) 用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。2.2.3.系統(tǒng)運(yùn)行庫 1)程序庫Android 包含一些C/C+庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫: 系統(tǒng) C 庫 - 一個(gè)從 BSD 繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫( libc ), 它是專門為基于 embedded linux 的設(shè)備定制的。 媒體庫 - 基于 PacketVideo OpenCORE;該庫
43、支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提 供了2D和3D圖層的無縫融合。LibWebCore - 一個(gè)最新的web瀏覽器引擎用,支持Android瀏覽器和一個(gè)可嵌入的web視圖。SGL - 底層的2D圖形引擎3D libraries - 基于OpenGL ES 1.0 APIs實(shí)現(xiàn);該庫可以使用硬件 3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。FreeType -位圖(bitmap)和矢量(vector
44、)字體顯示。SQLite - 一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎。 2)運(yùn)行庫Android 包括了一個(gè)核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。 每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。 Dalvik虛擬機(jī)執(zhí)行(.dex)的Dalvik可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由JAVA編譯器編譯,然后通過SDK中 的 "dx" 工具轉(zhuǎn)化成.dex格式由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)
45、依賴于linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。2.2.4.Linux內(nèi)核Android 的核心系統(tǒng)服務(wù)依賴于 Linux 2.6 內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議和驅(qū)動(dòng)模型。Linux 內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。 2.3Android應(yīng)用的構(gòu)成和工作機(jī)制Android應(yīng)用程序來說,是由Activity、Intent Receiver、Service、ContentProvider四部分組成,但并不是每一個(gè)Android應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時(shí),需要在配置文件Android應(yīng)用程序中所必需的,用于定義應(yīng)用程序的組件、組件的功能以
46、及必要條件等。Android應(yīng)用的構(gòu)成和工作流程圖如下:圖2.2 Android的構(gòu)成和工作流程2.4 Android與其他手機(jī)操作系統(tǒng)的比較我們主要從手機(jī)操作系統(tǒng)的移植性(Portablity)、可靠性(Reliability)、連通性( Connectivity)、產(chǎn)品多樣性(Product Diversity)、開放性( Open Platform)、可伸縮性( Kernal Size)、安全性(Standards、Security)和特殊性(Special Features)這九個(gè)方面進(jìn)行了比較,具體的比較結(jié)果如下表:表2.1 android與其他手機(jī)系統(tǒng)的比較對(duì)上表比較的九項(xiàng)每一項(xiàng)以
47、1分、0.5分、0分三個(gè)級(jí)別來進(jìn)行了評(píng)分,綜合各項(xiàng)評(píng)分,最好得到的評(píng)分結(jié)果是Android 8.5分、Windows mobile 5.5分、Symbian6.5分。Android基于開源的Linux以及標(biāo)準(zhǔn)的跨平臺(tái)的編程語言Java,而且源代碼開放,并且免費(fèi)允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開發(fā),其開源和免費(fèi)政策將贏得不少手機(jī)制造商的支持。而且在其平臺(tái)上集成了不少優(yōu)秀的開源工程,如Webkit、OpenGL等,相信在不久,將會(huì)有更多的優(yōu)秀工程加入到Android中來。相比其他手機(jī)操作系統(tǒng)過于封閉的特性來說,Android在手機(jī)操作系統(tǒng)領(lǐng)域?qū)?huì)占有很大的優(yōu)勢(shì),其功能也將會(huì)越來越強(qiáng)大。2.5 An
48、droid的總結(jié)分析 本章對(duì)Android平臺(tái)的特征、架構(gòu)以及Android應(yīng)用的構(gòu)成和工作機(jī)制進(jìn)行了詳細(xì)的分析。對(duì)于Android應(yīng)用程序來說,主要由Activity、 Service、 Intent Receiver和Content Provider四部分組成,但并不是對(duì)于每一個(gè)應(yīng)用程序,這四部分都是必須的。Activity是應(yīng)用程序中最重要的一種構(gòu)成塊,我們對(duì)其進(jìn)行了詳細(xì)的分析,包括Activity的生命周期以及Activity之間的切換。最后對(duì)Android與其它的手機(jī)操作系統(tǒng)從九個(gè)方面進(jìn)行了比較,說明了Android的優(yōu)勢(shì)。3 Android應(yīng)用程序結(jié)構(gòu)剖析3.1 Android的A
49、PIAndroid API主要包含了以下幾個(gè)部分: (1)AndroidManifest.xmlAndroidManifest.xml是系統(tǒng)的控制文件,它告訴系統(tǒng)如何處理所創(chuàng)建的所有應(yīng)用組件(尤其是活動(dòng)(Activity),服務(wù)(Service),意圖接收器(Intent Receiver)和內(nèi)容提供者(Content Provider)。舉例來說,控制文件就是把活動(dòng)和要接收的意圖(Intents)連接在一起的“膠水”。(2)活動(dòng)活動(dòng)就是一個(gè)有生命周期的對(duì)象。一個(gè)活動(dòng)就是完成某些工作的代碼塊,這部分工作還可能包括對(duì)用戶UI界面的顯示。不過這不是必須的,有些活動(dòng)從不顯示UI界面。(3)視圖視圖可
50、以將其自身繪制到屏幕上。Android的用戶界面由一系列的視圖樹構(gòu)成。接口都是由一組以樹的形式出現(xiàn)的視圖組成的。開發(fā)者可以通過創(chuàng)建一個(gè)新的視圖的方法來使用自定義的圖形處理技術(shù)(比如開發(fā)游戲,或者是使用了不常用的用戶圖形窗口界面)。(4)意圖意圖是一個(gè)簡單的消息對(duì)象,它表示程序想做某事的“意圖”。比如應(yīng)用程序想要顯示一個(gè)網(wǎng)頁,那么它可以通過創(chuàng)建一個(gè)Intent實(shí)例并將其傳遞給系統(tǒng)來表示意圖瀏覽這個(gè)URI。系統(tǒng)將定位到能處理這一Intent的代碼(在當(dāng)前情況下就是瀏覽器),并運(yùn)行之。意圖也可以用于廣播系統(tǒng)范圍內(nèi)的有效事件(例如通知事件)。(5)服務(wù)服務(wù)是運(yùn)行在后臺(tái)的一段代碼。它可以運(yùn)行在它自己的進(jìn)
51、程,也可以運(yùn)行在其他應(yīng)用程序的進(jìn)程里,這取決于自身的需要.。其它的組件可以綁定到一個(gè)服務(wù)上來,通過遠(yuǎn)程過程調(diào)用(RPC)來調(diào)用這個(gè)方法。例如媒體播放器的服務(wù),當(dāng)用戶退出媒體選擇的界面時(shí),仍然希望音樂依然可以繼續(xù)播放,這時(shí)就可用服務(wù)來保證當(dāng)用戶界面關(guān)閉時(shí)音樂還繼續(xù)播放著。(6)通知通知將以小圖標(biāo)的形式呈現(xiàn)在狀態(tài)欄里,用戶通過與圖標(biāo)的交互來接收消息。最常見的通知包括短信息、通話記錄和語音郵件,但是應(yīng)用程序也可以創(chuàng)建它們自己的通知事件。 (7)內(nèi)容提供者內(nèi)容提供者是用來提供對(duì)設(shè)備上數(shù)據(jù)進(jìn)行訪問。典型的例子就是使用內(nèi)容提供者來訪問聯(lián)系人列表。應(yīng)用程序也可以使用其它程序通過內(nèi)容提供者提供的數(shù)據(jù),同時(shí)也可
52、以定義自己的內(nèi)容提供者來向其它應(yīng)用提供數(shù)據(jù)訪問服務(wù)。3.2 Android應(yīng)用程序結(jié)構(gòu)解析通常由以下四個(gè)組件來構(gòu)建一個(gè)完整的Android應(yīng)用程序。活動(dòng)Activity意圖接收器Intent服務(wù)Service內(nèi)容提供者Content Provider然而,并不是所有的Android應(yīng)用程序都必須具備上面的四個(gè)組件,可以由上面的一個(gè)或幾個(gè)來組建。當(dāng)決定使用以上哪些組件來構(gòu)建Android應(yīng)用程序時(shí),需要將它們注冊(cè)在AndroidManifest.xml文件中,這是一個(gè)XML配置文件,在這個(gè)文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的。3.2.1
53、 活動(dòng)Activity活動(dòng)是以上四個(gè)組件中最常用的一個(gè)。每個(gè)活動(dòng)都是Activity的子類,并實(shí)現(xiàn)了一些獨(dú)有的功能,如管理UI顯示和UI的反饋事件。一個(gè)活動(dòng)就相當(dāng)于應(yīng)用程序的一個(gè)用戶界面,由事件響應(yīng)以及視圖等組成。大多數(shù)的應(yīng)用程序通常包括多個(gè)界面。例如:一個(gè)文本聊天應(yīng)用程序,至少應(yīng)該包含一個(gè)聯(lián)系人列表界面、一個(gè)聊天界面、一個(gè)設(shè)置界面、一個(gè)聊天記錄查詢界面等等。每個(gè)界面其實(shí)都可看作是一個(gè)活動(dòng)。顯示一個(gè)新界面就相當(dāng)于生成一個(gè)對(duì)應(yīng)的活動(dòng)對(duì)象。在一些情況下,活動(dòng)能夠返回給它的上級(jí)界面一個(gè)返回值,例如一個(gè)提供給用戶選擇照片的活動(dòng)可以返回給它的調(diào)用者用戶選擇了哪個(gè)照片文件。當(dāng)一個(gè)新的活動(dòng)出現(xiàn)時(shí),前一個(gè)活動(dòng)
54、被中斷并被放入到一個(gè)歷史堆棧中。用戶可以使用返回鍵使前一個(gè)活動(dòng)重現(xiàn)。當(dāng)一個(gè)活動(dòng)不再需要時(shí),可以將它們從歷史堆棧中移除。默認(rèn)情況下,Android會(huì)為每個(gè)應(yīng)用程序保留從主界面開始的歷史堆棧。Android通過一個(gè)被稱作意圖的特殊類,來實(shí)現(xiàn)界面與界面之間的跳轉(zhuǎn)。一個(gè)意圖描述了一個(gè)應(yīng)用程序想要做什么。在意圖的描述結(jié)構(gòu)中,含有兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu):動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。典型的動(dòng)作類型包括MAIN、VIEW、PICK、EDIT等等,而動(dòng)作對(duì)應(yīng)的數(shù)據(jù)則以URI的形式表示。例如:顯示一個(gè)聯(lián)系人信息的界面,可以創(chuàng)建一個(gè)意圖,并將它的動(dòng)作設(shè)置成VIEW,數(shù)據(jù)設(shè)置成表示這個(gè)人信息的URI。除此之外,還有一個(gè)被稱作意
55、圖過濾器(IntentFiher)的相關(guān)類。當(dāng)發(fā)生一個(gè)有效的目的請(qǐng)求時(shí),意圖過濾器用來描述一個(gè)活動(dòng)能夠處理什么意圖。如上例中所描述,想要正常顯示一個(gè)聯(lián)系人信息的界面,必須聲明一個(gè)意圖過濾器,它說明當(dāng)有聯(lián)系人數(shù)據(jù)要被在界面上顯示時(shí),知道如何處理它們。通常意圖過濾器要被注冊(cè)在AndroidManifest.xml文件中。從一個(gè)界面跳轉(zhuǎn)到另一個(gè)界面是由解析各種意圖實(shí)現(xiàn)的。例如:一個(gè)活動(dòng)使用startActivity(myIntent)來調(diào)用其他活動(dòng)時(shí),系統(tǒng)會(huì)查找所有已經(jīng)安裝的應(yīng)用程序的意圖過濾器,并從中挑選出能夠匹配myIntent意圖的活動(dòng)。隨后,這個(gè)新的活動(dòng)接收到意圖(myIntent)的通知并
56、開始運(yùn)行。當(dāng)startActivity方法被調(diào)用,解析意圖的處理過程隨之發(fā)生,這個(gè)機(jī)制有以下兩個(gè)突出的優(yōu)點(diǎn):活動(dòng)可以通過一個(gè)以意圖形式產(chǎn)生的請(qǐng)求來重用其他組件的功能?;顒?dòng)可以在任何時(shí)候被一個(gè)具有等價(jià)意圖過濾器的新活動(dòng)所替代。3.2.2 IntentAndroid用Intent類來實(shí)現(xiàn)在Activity與Activity之間的切換。在Intent的描述結(jié)構(gòu)中,有個(gè)兩個(gè)重要的部分:動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。典型的動(dòng)作類型有MAIN、VIEW、PICK、EDIT等,而動(dòng)作對(duì)應(yīng)的數(shù)據(jù)則以URL的形式表示。3.2.3 服務(wù)Service即"服務(wù)"的意思,既然是服務(wù),那么Service將是
57、一個(gè)生命周期長而且沒有用戶界面的程序。比如一個(gè)正在從播放列表中播放歌曲的媒體播放器,在這個(gè)媒體播放器應(yīng)用中,應(yīng)該會(huì)有多個(gè)activity,讓使用者可以選擇歌曲并播放歌曲。然而,音樂重放這個(gè)功能并沒有對(duì)應(yīng)的activity,因?yàn)槭褂谜邥?huì)認(rèn)為在導(dǎo)航到其他屏幕時(shí)音樂應(yīng)該還在播放。在這個(gè)例子中,媒體播放器這個(gè)activity會(huì)使用Context.startService()來啟動(dòng)一個(gè)service,從而可以在后臺(tái)保持音樂的播放。同時(shí),系統(tǒng)也將保持這個(gè)service一直執(zhí)行,直到這個(gè)service運(yùn)行結(jié)束。另外,我們還可以通過使用Context.bindService()方法連接到一個(gè)service上(
58、如果這個(gè)service當(dāng)前還沒有處于啟動(dòng)狀態(tài),則將啟動(dòng)它)。當(dāng)連接到一個(gè)service之后,還可用service提供的接口與它進(jìn)行通訊3.2.4 Content Provider在Android中,每個(gè)應(yīng)用程序都是有自己的userID及在自己的進(jìn)程中執(zhí)行。這樣做的好處是,可以保護(hù)系統(tǒng)及應(yīng)用程序,避免被其他不正常的應(yīng)用程序所影響??梢园衙總€(gè)進(jìn)程想像成是一個(gè)黑盒子,彼此不會(huì)互相影響,連內(nèi)存的資料都無法共享。如果應(yīng)用程序之間想要共享數(shù)據(jù),就需要使用用內(nèi)容提供者。一個(gè)內(nèi)容提供者就是一個(gè)類,它實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的方法集合。其他的應(yīng)用程序可以使用這些方法來保存和檢索此內(nèi)容提供者處理過的數(shù)據(jù)。3.3 Intent詳細(xì)解析在一個(gè)Android應(yīng)用中,主要是由四種組件組成的,這四種組件可參考上一節(jié)的內(nèi)容。而這四種組件是獨(dú)立的,它們之間可以互相調(diào)用,協(xié)調(diào)工作,最終組成一個(gè)真正的Android應(yīng)用。在這些組件之間的通訊中,主要是由意圖協(xié)助完成的。意圖負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作對(duì)應(yīng)的數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Android則根據(jù)此意圖的描述,負(fù)責(zé)找到相應(yīng)的組件,將意圖傳遞給它,并完成組件的調(diào)用。因此,意圖在這里起著一個(gè)媒體中介的作用,專門提供組件之間互相調(diào)用的相關(guān)信息,實(shí)現(xiàn)調(diào)用者與被
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年貨場(chǎng)階段性借用合同
- 2025年度智能化磚廠設(shè)備承包合同書4篇
- 2024預(yù)制場(chǎng)地租賃與綠色建筑評(píng)價(jià)服務(wù)合同3篇
- 2024食堂人員培訓(xùn)計(jì)劃與聘用合同規(guī)范3篇
- 2025年度時(shí)尚飾品代理招商合同協(xié)議4篇
- 2024版樓頂場(chǎng)地出租合同
- 2025年度戶外活動(dòng)場(chǎng)地草籽草坪鋪設(shè)合同范本3篇
- 2025年度智能辦公場(chǎng)地租賃及物聯(lián)網(wǎng)技術(shù)應(yīng)用合同4篇
- 2024食品行業(yè)智能物流合同
- 2025年度住宅小區(qū)樓頂太陽能設(shè)備安裝合同4篇
- 局部放電測(cè)試儀校準(zhǔn)規(guī)范 第1部分:超聲波法局部放電測(cè)試儀
- 旅游文本翻譯策略之轉(zhuǎn)換法-正反譯
- 工作頁(計(jì)算機(jī)組裝與維護(hù)-家用電腦組裝)
- 租賃車輛退車協(xié)議
- 醫(yī)療護(hù)理技術(shù)操作規(guī)程規(guī)定
- 分裂癥的非藥物治療
- 盤式制動(dòng)器中英文對(duì)照外文翻譯文獻(xiàn)
- 留置導(dǎo)尿管常見并發(fā)癥預(yù)防及處理
- 社會(huì)系統(tǒng)研究方法的重要原則
- 重癥醫(yī)學(xué)科健康宣教手冊(cè)
- 四年級(jí)少先隊(duì)活動(dòng)課教案(完整版)
評(píng)論
0/150
提交評(píng)論