




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Android應用程序架構1單元目標了解Android資源文件的種類掌握資源的根本使用方法了解活動〔Activity〕組件了解效勞〔Service〕組件了解播送接收者〔BroadCastreceivers〕組件了解內(nèi)容提供者〔ContentProviders〕組件掌握AndroidManifest.xml文件結構2本單元根底知識Android應用程序中的資源Android的4種應用程序組件AndroidManifest.xml文件的結構3Android應用程序中的資源任何類型的程序都要使用資源,Android應用程序使用的資源大局部都被封裝在apk文件中,并隨apk文件一起發(fā)布。4Android程序中的資源-存放位置EclipseADT新建工程向導生成目錄結構如下:5Android程序中的資源-存放位置〔續(xù)〕在上圖中,res文件夾用于存放資源,該目錄下有3個子目錄:drawable:它包含了icon.png,可以判斷用于圖像文件layout:從名稱可以判斷是用來保存布局文件的values:翻開其中包含的strings.xml文件可以看出,內(nèi)容均為基于XML格式的key-value對,可以判斷values目錄是用來保存字符串資源的6Android應用程序中的資源-種類Android支持3種類型的資源:XML文件圖像任意類型的資源,如音視頻以上文件放在res目錄的不同子目錄中,編譯Android應用程序時,系統(tǒng)會使用一個資源文件編譯程序〔aapt〕對這些資源文件進行編譯7Android應用程序中的資源-種類〔續(xù)〕Android支持資源列表:res\anim:用于存放幀動畫或補間動畫文件res\drawable:可以存放多種格式的圖像文件,例如,bmp、png、gif等,目錄中的圖像不需要分辨率非常高,aapt工具會優(yōu)化該目錄中的圖像文件res\layout:該目錄用于存放XML布局文件res\values:使用該目錄下XML文件的內(nèi)容作為資源,這些文件定義了各種類型的key-value對,根據(jù)不同的標簽定義不同類型的key-value對。例如,通過<string>標簽定義字符串key-value對,通過<color>標簽定義顏色值的key-value對8Android應用程序中的資源-種類〔續(xù)〕Android支持資源列表:res\xml:該目錄中的文件可以是任意類型的XML文件,這些XML文件可以在運行時被讀取res\raw:該文件也被封裝在apk文件中,但不會被編譯,可以存放任意類型的文件在任一個目錄中放入資源文件后,ADT會在gen目錄中建立一個R.java文件,該文件為一個R類,該類為每一個資源定義了唯一的ID,通過這些ID可以引用這些資源9Android應用程序的資源-使用方法在HelloWorld例如中,R.java內(nèi)容如下:publicfinalclassR{ publicstaticfinalclassdrawable{ publicstaticfinalinticon=0x7f020000; } publicstaticfinalclasslayout{ publicstaticfinalintmai=0x7f030000; } publicstaticfinalclassstring{ publicstaticfinalinthello=0x7f040000; publicstaticfinalintapp_name=0x7f040001; }}10Android應用程序的資源-使用方法〔續(xù)〕在HelloWorld例如中,通過R.java文件內(nèi)容,可以看出ADT為res目錄中每一個子目錄或標簽都生成了一個靜態(tài)子類,同樣,它也為XML布局文件中指定id屬性的組件生成了唯一的ID,并封裝在id子類中,這樣,在Android應用程序中就可以通過ID使用這些組件11Android應用程序的資源-使用方法〔續(xù)〕資源既可以在程序的代碼中使用,也可以在XML文件中使用應用程序Java代碼中:setTitle(R.string.app_name),可以看到在使用資源時直接引用了這個ID值,直接使用0x7f040001也可以,但為了使程序更容易維護,一般會直接使用在R的內(nèi)嵌類中定義的變量名XML文件中:android:text=“@string/hello”,其中hello就是資源文件string.xml中的一個字符串12Android應用程序組件Android應用程序中最核心的特性就是可以調用其他應用程序的資源。例如:如果應用程序恰好需要一個顯示圖像列表的功能,而另一個應用程序正好有這個功能,只需要調用這個應用程序中的圖像列表功能即可。Android如何實現(xiàn)這個特性?這與Android的組件設計密不可分Android應用程序沒有一個單獨的入口點,它是由一系列組件組成,在需要時,系統(tǒng)可以單獨實例化它們Android有四種類型的組件13Android應用程序組件-活動組件一個活動代表了一個可視化用戶界面,例如,一個活動可以是一個登錄窗口。相當于C/S程序中的窗體或者Web程序的頁面,每個Activity都提供了一個可視化的區(qū)域一個應用程序中可以只有一個Activity,或者包含多個,這完全取決于應用程序設計者。典型情況下,當用戶啟動程序時,總有一個Activity顯示給用戶通常,當前Activity負責啟動下一個Actitity,來完成從一個Activity到另一個Activity的轉變14Android應用程序組件-活動組件〔續(xù)〕一個窗體的真實內(nèi)容由從View基類繼承而來的視圖負責呈現(xiàn)。每個視圖都控制著窗體中的一塊長方形區(qū)域父視圖包含和組織了它們孩子視圖的布局顯示在長方形的最底層視圖負責控制和響應用戶的操作
例如,一個視圖可以顯示一個小的圖像,并且當用戶點擊圖像是做出響應Android有一系列真實的視圖-包括了按鈕、文本輸入框、滾動條、菜單、復選框等15Android應用程序組件-效勞組件效勞沒有可視化界面,但可以在后臺運行。例如,當用戶關注其他事情時,后臺音樂的播放。每個效勞都需要繼承Service基類其他程序可以通過某個效勞暴露出的接口來連接運行中的效勞,比方在音樂效勞中,可以通過其暴露的接口來暫停、重播、停止像活動和其他組件一樣,效勞運行在應用程序進程的主線程上,所以它們不會阻礙其他組件或者用戶界面,它們經(jīng)常生成其他線程來進行消耗時間的任務16Android應用程序組件-播送接收者組件播送接收者的唯一作用就是接收播送通知,并對此做出響應大多數(shù)播送來源自系統(tǒng),例如,時區(qū)改變的播送通知、電池電量缺乏、用戶改變了語言等應用程序可以初始化播送,例如,通知其他應用程序數(shù)據(jù)已經(jīng)下載完畢可用了應用程序可以使用多個播送接收者來響應任何它覺得重要的通知,所有播送接收者都繼承自BroadcastReceiver基類17Android應用程序組件-播送接收者組件播送接收者沒有用戶界面,但是可以在接收播送后啟動Activity,或者可以使用NotificationManager來通知用戶。通知可以用各種方式,閃屏、振動、播放音樂等。大多數(shù)情況下,在狀態(tài)欄放置一個圖標,通過該圖標用戶可以獲得通知消息18Android應用程序組件-內(nèi)容提供者組件內(nèi)容提供者可以為其他應用程序提供數(shù)據(jù)。這些數(shù)據(jù)可以保存在文件系統(tǒng)中,在SQLite數(shù)據(jù)庫中,或者其他方式保存內(nèi)容提供者繼承了ContentProvider基類,來實現(xiàn)一系列標準的方法讓其他應用程序可以獲取和存儲內(nèi)容提供者支持的數(shù)據(jù),但是應用程序不能夠直接調用這些方法,而是通過調用ContentResolver對象的方法來讀寫19AndroidManifest.xml文件每一個應用程序都必須在根目錄有一個名為AndroidManifest.xml的文件,這個清單文件告訴了系統(tǒng)該應用程序的相關信息,清單文件相關作用如下:定義應用程序的Java包,這個包名將作為應用程序的唯一標識定義應用程序的四個組件-活動、效勞、播送接收者、內(nèi)容提供者。定義的信息主要是與組件對應的類名以及這些組件所具有的能力決定了哪個Activity將作為第一個運行的Activity20AndroidManifest.xml文件〔續(xù)〕AndroidManifest.xml清單文件相關作用如下〔續(xù)〕:聲明了為了訪問API中受保護的部份以及與其他應用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈爾濱職業(yè)技術學院《影視音樂音響》2023-2024學年第一學期期末試卷
- 2025年期貴州省畢節(jié)市重點中學初三畢業(yè)班3月質檢物理試題含解析
- 海南省重點中學2025屆高考數(shù)學試題模擬試卷(8)數(shù)學試題含解析
- 壽險產(chǎn)品開發(fā)及設計基礎知識
- 手術室基礎無菌操作技術
- 陜西省衛(wèi)生健康系統(tǒng)事業(yè)單位招聘(臨床)歷年考試真題庫-含答案解析
- 介紹科學家課件
- 教育經(jīng)驗每天分享
- 護理燙傷不良事件
- 學習培訓匯報
- 《消化性潰瘍醫(yī)學》課件
- 焊工復審換證考試題庫及答案(含A.B卷)
- 指向思維品質提升的小學英語課堂教學表現(xiàn)性評價設計和實踐探索
- 導尿管相關尿路感染預防與控制技術指南-3
- DB11T 1905-2021 大型群眾性活動消防安全規(guī)范
- 爬寵飼養(yǎng)箱項目可行性實施報告
- 同等學力英語申碩考試詞匯(第六版大綱)電子版
- 驢用乳酸菌制劑生產(chǎn)技術規(guī)程
- 公司章程與內(nèi)部管理規(guī)則制度
- 20以內(nèi)加減法口算練習題帶括號填空135
- 幼兒園 小班音樂《森林音樂會》原版有聲動態(tài)課件
評論
0/150
提交評論