Android開發(fā)之旅:應(yīng)用程序基礎(chǔ)及組件_第1頁(yè)
Android開發(fā)之旅:應(yīng)用程序基礎(chǔ)及組件_第2頁(yè)
Android開發(fā)之旅:應(yīng)用程序基礎(chǔ)及組件_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

Android開發(fā)之旅:應(yīng)用程序基礎(chǔ)及組件2010-04-1617:19by吳秦,33872閱讀,23評(píng)論,收藏,編輯——成功屬于耐得住寂寞的人,接下來(lái)幾篇將講述Android應(yīng)用程序的原理及術(shù)語(yǔ),可能會(huì)比較枯燥。如果能夠靜下心來(lái)看,相信成功將屬于你。引言為了后面的例子做準(zhǔn)備,本篇及接下來(lái)幾篇將介紹Android應(yīng)用程序的原理及術(shù)語(yǔ),這些也是作為一個(gè)Android的開發(fā)人員必須要了解,且深刻理解的東西。本篇的主題如下:1、應(yīng)用程序基礎(chǔ)2、應(yīng)用程序組件2.1、活動(dòng)(Activities)2.2、服務(wù)(Services)2.3、廣播接收者(Broadcastreceivers)2.4、內(nèi)容提供者(Contentproviders)因?yàn)檫@些內(nèi)容比較理論,且沒有用例子來(lái)說(shuō)明,看上去會(huì)比較枯燥,我就把這幾篇寫得算比較短,方便大家吸收。1、應(yīng)用程序基礎(chǔ)Android應(yīng)用程序是用Java編程語(yǔ)言寫的。編譯后的Java代碼——包括應(yīng)用程序要求的任何數(shù)據(jù)和資源文件,通過(guò)aapt工具捆綁成一個(gè)Android包,歸檔文件以.apk為后綴。這個(gè)文件是分發(fā)應(yīng)用程序和安裝到移動(dòng)設(shè)備的中介或工具,用戶下載這個(gè)文件到他們的設(shè)備上。一個(gè).apk文件中的所有代碼被認(rèn)為是一個(gè)應(yīng)用程序。aapt:aapt是AndroidAssetPackagingTool的首字母縮寫,這個(gè)工具包含在SDK的tools/目錄下。查看、創(chuàng)建、更新與zip兼容的歸檔文件(zip、jar、apk)。它也能將資源文件編譯成二進(jìn)制包。盡管你可能不會(huì)經(jīng)常直接使用appt,但是構(gòu)建腳本(buildscripts)和IDE插件會(huì)使用這個(gè)工具打包apk文件,構(gòu)成一個(gè)Android應(yīng)用程序。如需更詳細(xì)的使用細(xì)節(jié),打開一個(gè)終端,進(jìn)入tools/目錄下,運(yùn)行命令:Linux或Mac操作系統(tǒng):./aaptWindows:aapt.exe注意:tools/目錄是指androidSDK目錄下的/platforms/android-X/tools/在許多方面,每個(gè)Android應(yīng)用程序生活在它自己的世界:默認(rèn)情況下,每一個(gè)應(yīng)用程序運(yùn)行在它自己的Linux進(jìn)程中。當(dāng)應(yīng)用程序中的任何代碼需要執(zhí)行時(shí),Android將啟動(dòng)進(jìn)程;當(dāng)它不在需要和系統(tǒng)資源被其他應(yīng)用程序請(qǐng)求時(shí),Android將關(guān)閉進(jìn)程。每個(gè)應(yīng)用程序都有他自己的Java虛擬機(jī)(VM),因此應(yīng)用程序代碼獨(dú)立于其他所有應(yīng)用程序的代碼運(yùn)行。默認(rèn)情況下,每個(gè)應(yīng)用程序分配一個(gè)唯一的Linux用戶的ID。權(quán)限設(shè)置為每個(gè)應(yīng)用程序的文件僅對(duì)用戶和應(yīng)用程序本身可見——雖然也有一些方法可以暴露他們給其他應(yīng)用程序。有可能設(shè)置兩個(gè)應(yīng)用程序共享一個(gè)用戶ID,這種情況下,他們能夠看到對(duì)方的文件。為了節(jié)省系統(tǒng)資源,具有相同ID的應(yīng)用程序也可以安排在同一個(gè)Linux進(jìn)程中,共享同一個(gè)VM。2、應(yīng)用程序組件Android的一個(gè)主要特點(diǎn)是,一個(gè)應(yīng)用程序可以利用其他應(yīng)用程序的元素(假設(shè)這些應(yīng)用程序允許的話)。例如,如果你的應(yīng)用程序需要顯示一個(gè)圖像的滾動(dòng)列表,且其他應(yīng)用程序已經(jīng)開發(fā)了一個(gè)合適的滾動(dòng)條并可以提供給別的應(yīng)用程序用,你可以調(diào)用這個(gè)滾動(dòng)條來(lái)工作,而不用自己開發(fā)一個(gè)。你的應(yīng)用程序不用并入其他應(yīng)用程序的代碼或鏈接到它。相反,當(dāng)需求產(chǎn)生時(shí)它只是啟動(dòng)其他應(yīng)用程序塊。對(duì)于這個(gè)工作,當(dāng)應(yīng)用程序的任何部分被請(qǐng)求時(shí),系統(tǒng)必須能夠啟動(dòng)一個(gè)應(yīng)用程序的進(jìn)程,并實(shí)例化該部分的Java對(duì)象。因此,不像其他大多數(shù)系統(tǒng)的應(yīng)用程序,Android應(yīng)用程序沒有一個(gè)單一的入口點(diǎn)(例如,沒有main()函數(shù))。相反,系統(tǒng)能夠?qū)嵗瓦\(yùn)行需要幾個(gè)必要的組件。有四種類型的組件:活動(dòng)(Activities)服務(wù)(Services)廣播接收者(Broadcastreceivers)內(nèi)容提供者(Contentproviders)然而,并不是所有的應(yīng)用程序都必須包含上面的四個(gè)部分,你的應(yīng)用程序可以由上面的一個(gè)或幾個(gè)來(lái)組建。當(dāng)你決定使用以上哪些組件來(lái)構(gòu)建Android應(yīng)用程序時(shí),你應(yīng)該將它們列在AndroidManifest.xml文件中,在這個(gè)文件中你可以聲明應(yīng)用程序組件以及它們的特性和要求。關(guān)于AndroidManifest.xml在Android開發(fā)之旅:HelloWorld項(xiàng)目的目錄結(jié)構(gòu)的1.6、AndroidManifest.xml簡(jiǎn)單介紹了一下,你可以參考一下,下篇也將介紹它。2.1、活動(dòng)(Activities)一個(gè)活動(dòng)表示一個(gè)可視化的用戶界面,關(guān)注一個(gè)用戶從事的事件。例如,一個(gè)活動(dòng)可能表示一個(gè)用戶可選擇的菜單項(xiàng)列表,或者可能顯示照片連同它的標(biāo)題。一個(gè)文本短信應(yīng)用程序可能有一個(gè)活動(dòng),顯示聯(lián)系人的名單發(fā)送信息;第二個(gè)活動(dòng),寫信息給選定的聯(lián)系人;其他活動(dòng),重新查看舊信息或更改設(shè)置。雖然他們一起工作形成一個(gè)整體的用戶界面,但是每個(gè)活動(dòng)是獨(dú)立于其他活動(dòng)的。每一個(gè)都是作為Activity基類的一個(gè)子類的實(shí)現(xiàn)。android.app.Activity類:因?yàn)閹缀跛械幕顒?dòng)(activities)都是與用戶交互的,所以Activity類關(guān)注創(chuàng)建窗口,你可以用方法setContentView(View)將自己的UI放到里面。然而活動(dòng)通常以全屏的方式展示給用戶,也可以以浮動(dòng)窗口或嵌入在另外一個(gè)活動(dòng)中。有兩個(gè)方法是幾乎所有的Activity子類都實(shí)現(xiàn)的:onCreate(Bundle):初始化你的活動(dòng)(Activity),比如完成一些圖形的繪制。最重要的是,在這個(gè)方法里你通常將用布局資源(layoutresource)調(diào)用setContentView(int)方法定義你的UI,和用findViewById(int)在你的UI中檢索你需要編程地

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論