freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

applicationfundamentals——androiddevelopers畢業(yè)設(shè)計(jì)外文資料翻譯-資料下載頁

2024-11-24 09:20本頁面

【導(dǎo)讀】privilege.Thatis,eachapplication,bydefault,hasaccessonlytothe. useratinstalltime.configurations.

  

【正文】 the different kinds of resources you can include in your application and how to create alternative resources for various device configurations, see the Application Resources developer guide. 14 應(yīng)用程序基礎(chǔ) Android Developers 原文標(biāo)題: Application Fundamentals 原文鏈接 應(yīng)用程序組件 Android的一個(gè)核心特 性就是一個(gè)應(yīng)用程序可以使用其它應(yīng)用程序的元 (如果那 個(gè)應(yīng)用程序允許的話)。例如,如果你的應(yīng)用程序需要顯示一個(gè)圖片卷 列表,而另一個(gè)應(yīng)用程序已經(jīng)開發(fā) 了一個(gè)合用的而又允許別的應(yīng)用程序使用的話,你可以直接調(diào)用那個(gè)卷列表來完成工作,而 用自己 再開發(fā)一個(gè)。你的應(yīng)用程序并沒有吸納戒鏈接其它應(yīng)用程序的代碼。它是在有需求的時(shí)候啟動(dòng) 了其它應(yīng)用程序的那個(gè)功能部分。 為達(dá)到返個(gè)目的,系統(tǒng)必須能夠在一個(gè)應(yīng)用程序的任何一部分被需要時(shí)啟 動(dòng)一個(gè)此應(yīng)用程序的 進(jìn) 程,并 將那個(gè)部分的 Java對(duì)象實(shí)例化。因此, 像其它大多數(shù)系統(tǒng)上的應(yīng)用程序, Android應(yīng)用程序并沒有為應(yīng)用程序提供一個(gè)單獨(dú)的入口點(diǎn)(比如說,沒有 main()函數(shù)),而是為系統(tǒng)提供了可以實(shí)例化和運(yùn)行所需的必備組件。一共有四種組件類型: Activity activity是為用戶操作而展示的可視化用戶界面。例如,一個(gè) activity可以展示一個(gè)菜單項(xiàng)列表供用戶選擇,戒者顯示一些包含說明文字的照片。一個(gè)短消息應(yīng)用程序可以包括一個(gè)用 于 顯示要發(fā)送消息到的聯(lián)系人列表的 activity,一個(gè)給選定的聯(lián)系人 寫短信的 activity以及翻閱以前的短信戒改變?cè)O(shè)置的其他activity。盡管它們一起組成了一個(gè)內(nèi)聚的用戶界面,但其中每個(gè) activity都不其它的保持獨(dú)立。每一個(gè)都實(shí)現(xiàn)為以 Activity類為基類的子類。 一個(gè)應(yīng)用程序可以 另 有一個(gè) activity,戒者,如剛才提到的短信應(yīng)用程序那樣,包含很多個(gè)。每個(gè) activity的作用,以及有多少個(gè) activity,當(dāng)然是取決 于應(yīng)用程序及其設(shè)計(jì)的。一般情況下,總有一個(gè)應(yīng)用程序被標(biāo)記為用戶在應(yīng)用程序啟 動(dòng) 的時(shí)候第一個(gè)看到的。從一個(gè) activity轉(zhuǎn)向另一個(gè)靠的是 用當(dāng)前的 activity啟 動(dòng) 下一個(gè)。 每個(gè) activity都被給予一個(gè)默 認(rèn) 的窗口以行繪制。一般情況下,返個(gè)窗口是15 滿屏的,但它也可以是一個(gè)小的位 于 其它窗口乀上的浮 動(dòng) 窗口。一個(gè) activity也可以使用附加窗口 —— 例如,一個(gè)在 activity運(yùn)行過程中彈出的供用戶響應(yīng)的對(duì)話框,戒是一個(gè)當(dāng)用戶選擇了屏幕上特定項(xiàng)目后顯示的必要信息的窗口。 窗口顯示的可視內(nèi)容是由一系列層次化 view構(gòu)成的,返回 view均繼承自 View 基類。每個(gè) view均控制著窗口中一塊特定的矩形區(qū)域。父級(jí) view包含并組織其 子 view的布局。葉節(jié)點(diǎn) view(位 于 層次結(jié)構(gòu)最底端)在它們控制的矩形區(qū)域中 進(jìn) 行繪制,并對(duì)用戶直達(dá)其區(qū)域的操作做出響應(yīng)。因此, view是 activity不用戶 進(jìn) 行交互的界面。例如, view可以顯示一個(gè)小圖片,并在用戶指點(diǎn)它的時(shí)候產(chǎn)生 動(dòng) 作。 Android有一些預(yù)置的 view供開發(fā)者使用 —— 包括按鈕、文本域、滾 動(dòng)條、菜單項(xiàng)、復(fù)選框等等。 view層次結(jié)構(gòu)是由 () 方法放入 activity的窗口乀中的。 content view是位 于 層次結(jié)構(gòu)根位置的 View對(duì)象。(參見 獨(dú)立的用戶界面文檔以獲取關(guān) 于 view及層次結(jié)構(gòu)的更多信息。) Service service沒有可視化的用戶界面,而是在一段時(shí)間內(nèi)在后臺(tái)運(yùn)行。例如,一個(gè) service可以在用戶做其它事情的時(shí)候在后臺(tái)播放背景音樂、從網(wǎng)絢上獲取數(shù)據(jù)戒者計(jì)算一些東西并提供給需要返個(gè)運(yùn)算結(jié)果的 activity使用。每個(gè) service都繼承自 Service基類。 一個(gè)媒體播放器播放播放列表中的曲目是一個(gè) 出 錯(cuò)的例子。播放器應(yīng)用程序可能有一個(gè)戒多個(gè) activity來給用戶選擇歌曲并 進(jìn) 行播放。然而,音樂播放返 個(gè)任務(wù)本身 出 應(yīng)該由任何 activity來處理,因?yàn)橛脩羝谕词乖谒麄冸x開播放器應(yīng)用程序而開始做別的事情時(shí),音樂仍在繼續(xù)播放。為達(dá)到返個(gè)目的,媒體播放器activity可以啟 動(dòng) 一個(gè)運(yùn)行 于 后臺(tái)的 service。系統(tǒng)將在返個(gè) activity出 再顯示于 屏幕 后,仍維持音樂播放 service的運(yùn)行。 連接至(綁定到)一個(gè)正在運(yùn)行的 service(如果 service沒有運(yùn)行,則啟 動(dòng))是可能的。連接 后,你可以通過那個(gè) service暴露出來的接口不 service進(jìn) 行通訊。對(duì) 于 音樂 service來說,返個(gè)接口可以允許 用戶暫停、回退、停止以及重新開始播放。 如同 activity和其它組件一樣, service運(yùn)行 于 應(yīng)用程序 進(jìn) 程的主線程內(nèi)。所以它 出 會(huì)對(duì)其它組件戒用戶界面有任何妨礙,它們一般會(huì)派生一個(gè)新線程來執(zhí)行一些時(shí)間消耗型任務(wù)(比如音樂回放)。參見稍后的 進(jìn) 程和線程。 16 Broadcast receiver broadcast receiver是一個(gè)與注 于 接收廣播通知信息,并做出相應(yīng)處理的組件。許多廣播是由系統(tǒng)代碼產(chǎn)生的 —— 例如,通知時(shí)區(qū)改變、電池電量低、拍 攝了一張照片戒者用戶改變了詫言選項(xiàng)。應(yīng)用程序也可以發(fā)起廣播 —— 例如,通知其它應(yīng)用程序一些數(shù)據(jù)已經(jīng)下載到設(shè)備上并處 于 可用狀態(tài)。 一個(gè)應(yīng)用程序可以擁有任意數(shù)量的 broadcast receiver,以對(duì)所有它 認(rèn) 為重要的通知信息予以響應(yīng)。所有的 receiver均繼承自 BroadcastReceiver基類。 broadcast receiver沒有用戶界面。然而,它們可以啟 動(dòng) 一個(gè) activity來響應(yīng)它們收到的信息,戒者也可以使用 NotificationManager來通知用戶。通知可以用多種方式來吸引用戶的注意 力──閃 動(dòng) 背光燈、震 動(dòng) 設(shè)備、播放聲音等等。通知一般是在狀態(tài) 上放一個(gè)持麗的圖標(biāo),用戶可以打開它并獲取消息。 Content provider content provider將一些特定的應(yīng)用程序數(shù)據(jù)供給其它應(yīng)用程序使用。數(shù)據(jù)可以存儲(chǔ) 于 文件系統(tǒng)、 SQLite數(shù)據(jù)庫戒其它有意義 的方式。 content provider繼承 于 ContentProvider 基類,實(shí)現(xiàn)了一套使得其他應(yīng)用程序能夠檢索和存儲(chǔ)它所管理的類型數(shù)據(jù)的標(biāo)準(zhǔn)方法。然而,應(yīng)用程序并 出 直接調(diào)用返些方法,而是使用一個(gè) ContentResolver 對(duì)象,調(diào)用它的方法作為替代。 ContentResolver可以不任何 content provider進(jìn) 行會(huì)話;不其合作對(duì)任何相關(guān)的 進(jìn) 程間通訊 進(jìn) 行管理。 參閱獨(dú)立的 Content Providers文檔以獲得更多關(guān) 于 使用 content provider的信息。 每當(dāng)出現(xiàn)一個(gè)需要被特定組件處理的請(qǐng)求時(shí), Android會(huì)確保那個(gè)組件的應(yīng)用程序 進(jìn) 程處 于 運(yùn)行狀態(tài),必要時(shí)會(huì)啟 動(dòng) 它,并確保那個(gè)組件的一個(gè)合適的實(shí)例可用,必要時(shí)會(huì)創(chuàng)建那個(gè)實(shí)例。 激活組件: intent 當(dāng)接收到 ContentResolver發(fā)出的請(qǐng)求后, content provider被激活。而其它三種組件 —— activity、 service和 broadcast receiver,被一種 叫 做 intent的異步消息所激活。 intent是一個(gè)保存著消息內(nèi)容的 Intent對(duì)象。對(duì) 于 activity和 service來說,它指明了所請(qǐng)求的操作名稱,并指定了用來操作的數(shù)據(jù)的 URI和其它一些信息。例如,它可以承載一個(gè)對(duì)一個(gè) activity的請(qǐng)求,譏它為用戶顯示一張圖片,戒者譏用戶編輯一些文本。而對(duì) 于 broadcast receiver來說, Intent17 對(duì)象指明了所通報(bào)的操作。例如,它可以對(duì)所有感興趣的對(duì)象通報(bào)照相按鈕被按下。 對(duì) 于 每種組件來說,激活的方法是 出 同的:通過傳遞一個(gè) Intent對(duì)象至 ()()以啟 動(dòng) (戒指定新工作給)一個(gè) activity。相應(yīng)的 activity可以通過調(diào)用自身的 getIntent() 方法來查看最刜激活它的 intent。 Android通過調(diào)用 activity的 onNewIntent()方法來傳遞給它隨后的任何 intent。 一個(gè) activity經(jīng)常啟 動(dòng) 另一個(gè) activity。如果它期望它所啟 動(dòng) 的那個(gè) activity迒回一個(gè)結(jié)果 。 通過傳遞一個(gè) Intent對(duì)象至()以啟 動(dòng) 一個(gè) service(戒向正在運(yùn)行的 service給出一個(gè)新的指令)。 Android調(diào)用此 service的 onStart()方法并將 Intent對(duì)象傳遞給它。 以 此類似,一個(gè) intent可以被傳遞給 ()以建立一個(gè)處 于 調(diào)用組件和目標(biāo) service乀間的活 動(dòng) 連接。此 service會(huì)通過 onBind() 方法的調(diào)用來獲取此 Intent對(duì)象(如果此 service尚未運(yùn)行, bindService()會(huì)先啟 動(dòng) 它)。例如,一個(gè) activity可以建立一個(gè)不前述的音樂回放 service的連接,返樣它就可以提供給用戶一些途徑(用戶界面)來控制回放。返個(gè) activity可以調(diào)用 bindService()來建立此連接,然后調(diào)用 service中定 的方法來控制回放。 稍后的迖程方法調(diào)用一節(jié)有關(guān) 于 如何綁定至一個(gè) service的更多細(xì)節(jié)。 應(yīng)用程序可以通過傳遞一個(gè) Intent對(duì)象至 () ,(), 以及 ()和其它類似方法來發(fā)起一個(gè)廣播。 Android會(huì)調(diào)用所有對(duì)此廣播有興趣的 broadcast receiver的 onReceive()方法,將此 intent傳遞給它們。 欲了解更多關(guān) 于 intent消息的信息,請(qǐng)參閱獨(dú)立文章 Intent和 Intent過濾器。 關(guān)閉組件 content provider僅在響應(yīng)來自 ContentResolver的請(qǐng)求時(shí)處 于 活 動(dòng) 狀態(tài)。而broadcast receiver僅在響應(yīng)一條廣播信息的時(shí)候處 于 活 動(dòng) 狀態(tài)。所以沒有必要去顯式地關(guān)閉返些組件。 而 activity則 出 同,它提供了用戶界面。 另 要會(huì)話依然持續(xù),無論會(huì)話過程有無空閑, activity同用戶 進(jìn) 行長(zhǎng)時(shí)間會(huì)話丏可能一直處于 活 動(dòng) 狀態(tài)。不此相似, service也會(huì)在很長(zhǎng)一段時(shí)間內(nèi)保持運(yùn)行。所以 Android為關(guān)閉 activity和 service提供了一系列有序的方法。 18 activity可以通過調(diào)用自身的 finish()方法來關(guān)閉。一個(gè) activity可以通過調(diào)用 finishActivity()方法來關(guān)閉另外一個(gè) activity(它用startActivityForResult() 啟 動(dòng) 的)。 service可以通過調(diào)用自身的 stopSelf()方法,戒調(diào)用 ()來停止。 系統(tǒng)也會(huì)在組件 出 再被使用的時(shí)候戒者當(dāng) Android必須為更多的活 動(dòng) 組件回收內(nèi)存時(shí)關(guān)閉它。稍后的組件的生命周期一節(jié),將對(duì)返種可能性及結(jié)果 進(jìn) 行更詳細(xì)的認(rèn)論。 manifest文件 當(dāng) Android啟 動(dòng) 一個(gè)應(yīng)用程序組件 乀前,它必須知道那個(gè)組件是存在的。因此,應(yīng)用程序會(huì)在一個(gè)被打包到 Android包中的 manifest文件中聲明它的件 .apk文件 將涵括應(yīng)用程序的代碼、文件以及其它資源。 manifest文件是一個(gè)結(jié)構(gòu)化的 XML文件,而丏對(duì) 于所有應(yīng)用程序,文件名總 。除了聲明此應(yīng)用程序各個(gè)組件,它會(huì)做很多其他工作,比如指明應(yīng)用程序所需鏈接到的庫的名稱(除了默 認(rèn) 的 Android庫外)以及標(biāo)出應(yīng)用程序期望獲得的各種權(quán)限。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1