成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

安卓第三夜 概念漫游

移動(dòng)開發(fā) Android
拿起一個(gè)手機(jī),總是滿屏的應(yīng)用圖標(biāo)。點(diǎn)擊圖標(biāo),選擇應(yīng)用,玩一把游戲,刷一下微博,寫一篇日記。“叮咚”一聲,郵件應(yīng)用提醒有一封新來(lái)的郵件。在安卓里,眼花繚亂的應(yīng)用承載著各種有趣的功能。歡迎來(lái)到安卓應(yīng)用的世界。

拿起一個(gè)手機(jī),總是滿屏的應(yīng)用圖標(biāo)。點(diǎn)擊圖標(biāo),選擇應(yīng)用,玩一把游戲,刷一下微博,寫一篇日記。“叮咚”一聲,郵件應(yīng)用提醒有一封新來(lái)的郵件。在安卓里,眼花繚亂的應(yīng)用承載著各種有趣的功能。歡迎來(lái)到安卓應(yīng)用的世界。

每一個(gè)應(yīng)用都是存儲(chǔ)在手機(jī)中的一段小程 序。編寫這段小程序,是每個(gè)安卓開發(fā)者的主要工作。程序運(yùn)行后成為一個(gè)進(jìn)程后,在進(jìn)程的內(nèi)存空間中新建一個(gè)Dalvik虛擬機(jī)。程序預(yù)設(shè)的各種視覺(jué)效果和 功能,都會(huì)在這一虛擬機(jī)中進(jìn)行。如同一個(gè)小小的軍團(tuán),安卓應(yīng)用也需要不同功能的單元配合。

Activity

步兵是軍團(tuán)的基石

使用手機(jī)的大多數(shù)時(shí)候,你會(huì)停留在某一個(gè)“頁(yè) 面”,比如和戀人的對(duì)話頁(yè)面、切水果頁(yè)面、相機(jī)的取景頁(yè)面。用安卓的術(shù)語(yǔ)講,頁(yè)面是一個(gè)Activity,它是一個(gè)占據(jù)整個(gè)屏幕的界面。用戶和手機(jī)可以通 過(guò)Activity交流。頁(yè)面,也就是Activity,是手機(jī)應(yīng)用中如此常見(jiàn)的概念,以至于用戶有時(shí)會(huì)忽視它們的存在,就像那些無(wú)比普通的小步兵。

[[117409]]

觀察這些頁(yè)面,我們會(huì)發(fā)現(xiàn)一些共同點(diǎn)。

Activity包含一些特別的視覺(jué)元素,比如豎直列表、一個(gè)彩色的背景或者一個(gè)小小的按鈕。

Activity呈現(xiàn)各種信息,比如圖片、文字、輸入欄等等。靜態(tài)信息之外,Activity也可以播放動(dòng)態(tài)的動(dòng)畫或視頻。

用戶可以與Activity互動(dòng),輸入信息、點(diǎn)擊按鈕、上下滑動(dòng),而Activity會(huì)根據(jù)這些互動(dòng)動(dòng)作,觸發(fā)特定的效果。

 

一個(gè)應(yīng)用往往包含多個(gè)頁(yè)面。在某些情況 下,我們會(huì)從當(dāng)前Activity離開,激活并前往下一個(gè)Activity。在聯(lián)系人條目菜單的頁(yè)面上,點(diǎn)擊某個(gè)聯(lián)系人,進(jìn)入一個(gè)新的頁(yè)面,這個(gè)新的頁(yè)面 上包含該聯(lián)系人的具體信息;再點(diǎn)擊返回鍵,我們退出了包含具體信息的頁(yè)面,又回到聯(lián)系人條目菜單的頁(yè)面上。應(yīng)用的進(jìn)程空間中有一個(gè)棧(stack), 用來(lái)記錄我們依次激活的各個(gè)Activity。新激活的Activity被壓入到棧的頂端。在手機(jī)屏幕上,我們只能看到棧頂?shù)倪@個(gè)Activity,也只 能和該Activity互動(dòng)。當(dāng)我們點(diǎn)擊返回鍵時(shí),當(dāng)前Activity結(jié)束,從棧中彈出。上一個(gè)被激活的Activity出現(xiàn)在棧頂,重新占領(lǐng)手機(jī)屏 幕。這也就是我們按返回鍵時(shí),能回到歷史頁(yè)面(聯(lián)系人條目菜單)的原理。

正如默默守衛(wèi)的小步兵,Activity也總是處于一種相對(duì)靜止的某個(gè)狀態(tài),比如運(yùn)行、暫停、停止等。Activity的許多功能,都是在狀態(tài)切換中 完成的。狀態(tài)轉(zhuǎn)換過(guò)程中執(zhí)行的命令,都是程序員預(yù)設(shè)好的,包含在特定的方法中。比如一個(gè)Activity從未激活狀態(tài)到運(yùn)行狀態(tài)的過(guò)程中,會(huì)自動(dòng)執(zhí)行 Activity對(duì)象的onStart()方法。安卓程序員在該方法中,設(shè)計(jì)Activity在目標(biāo)狀態(tài)的效果:實(shí)現(xiàn)特定的頁(yè)面布局,為按鈕注冊(cè)回調(diào)函 數(shù),訪問(wèn)互聯(lián)網(wǎng)獲取信息等。再比如,Activity從暫停到恢復(fù)的狀態(tài),會(huì)執(zhí)行onRestart()方法。安卓程序員可以在該方法中,實(shí)現(xiàn)諸如調(diào)整亮 度和彈出提示之類的功能。這正如小兵在平時(shí)訓(xùn)練時(shí),預(yù)設(shè)了切換過(guò)程中要做的事情。小兵從一個(gè)狀態(tài)進(jìn)入到另一個(gè)狀態(tài),比如從“警戒”到“預(yù)備射擊”。在該狀 態(tài)過(guò)程中,士兵執(zhí)行預(yù)設(shè)動(dòng)作,即裝填子彈,隨即進(jìn)入射擊待命狀態(tài)。

有趣的是,一個(gè)安卓的Activity與互聯(lián) 網(wǎng)上的一個(gè)Web頁(yè)面非常相似。它們都是充斥屏幕的頁(yè)面,包含視覺(jué)元素和信息。用戶可以通過(guò)這樣的頁(yè)面實(shí)現(xiàn)某些功能。就連這些界面的編寫方式,也有相似之 處:安卓用XML設(shè)計(jì)一個(gè)頁(yè)面,而Web用HTML設(shè)計(jì)一個(gè)頁(yè)面。你甚至于可以把一個(gè)應(yīng)用直接看做包含了多個(gè)頁(yè)面的小型網(wǎng)站。

Service

應(yīng)用得當(dāng),騎兵是戰(zhàn)場(chǎng)上的一把利劍。

安卓軍團(tuán)的另一個(gè)重要組成部分是Service。在安卓應(yīng)用中,Activity負(fù)責(zé)的界面大部分時(shí)間處于相對(duì)靜止的狀態(tài),直到有特定的觸發(fā)時(shí)間發(fā)生。這種異步的工作方式,能有效的節(jié)省系統(tǒng)資源。然而,有一些工作需要一個(gè)持續(xù)運(yùn)行的程序來(lái)負(fù)責(zé)的,比如:

每五分鐘登錄郵件服務(wù)器,檢查新郵件

保持聯(lián)系人條目與云服務(wù)器同步

相對(duì)大運(yùn)算量的工作,比如圖像和視頻編輯 

這些工作并不需要界面交互。必須的時(shí) 候,安卓應(yīng)用可以啟動(dòng)一個(gè)Service。Service在背景運(yùn)行,來(lái)負(fù)責(zé)上述的需要長(zhǎng)時(shí)間運(yùn)行的工作。Service對(duì)象本身在主線程內(nèi)工作。在設(shè)計(jì) Service時(shí),安卓程序員一般會(huì)為Service內(nèi)大計(jì)算量的部分開啟新線程,以便不影響主線程的運(yùn)行。當(dāng)我們刷微博時(shí),背景Service中訪問(wèn)互 聯(lián)網(wǎng),以獲得新的微博,并更新到微博列表頁(yè)面。Service中的互聯(lián)網(wǎng)訪問(wèn)不會(huì)影響到閱讀舊有的微博條目。Service盡管功能強(qiáng)大,但它持續(xù)運(yùn)行的 工作方式會(huì)比較消耗運(yùn)算資源。在手機(jī)這樣運(yùn)算資源有限的移動(dòng)平臺(tái)上,Service就好像一支精貴的騎兵。

[[117410]]

Broadcast Receiver

預(yù)備隊(duì),隨時(shí)待命。

除了Activity和Service,安卓應(yīng)用還有一種重要的功能單元,就是Broadcast Receiver。它的功能比較簡(jiǎn)單,就是在接收到系統(tǒng)廣播后,執(zhí)行特定的功能。Broadcast Receiver接收的是Intent對(duì)象,將在后面詳解。

Intent

傳令兵少送了一道命令,軍團(tuán)輸了一場(chǎng)戰(zhàn)爭(zhēng)。

上面講了Activity和Service,每個(gè)Activity和Service之間都可以實(shí)現(xiàn)特定的功能。一個(gè)完整的應(yīng)用需要將這些單個(gè)的功能個(gè)體粘合起來(lái),比如從一個(gè)Activity啟動(dòng)另一個(gè)Activity,在比如從一個(gè)Activity內(nèi)部啟動(dòng)一個(gè)Service。安卓中的Intent就是軍團(tuán)中的傳令兵,粘合各個(gè)功能單元。

Intent對(duì)象說(shuō)明了下一步要做的事情,比如啟動(dòng)一個(gè)Activity或Service。我們可以在舊的Activity中發(fā)起一個(gè)Intent對(duì)象,從而連接新舊的功能單元。在Intent對(duì)象中,可以說(shuō)明要激活的功能單元,比如具體某一個(gè)Activity。Intent還可以附加數(shù)據(jù),交給新的功能模塊。

如 果不具體說(shuō)明要激活的功能單元,Intent對(duì)象可以只說(shuō)明想要執(zhí)行的動(dòng)作,而由安卓系統(tǒng)尋找合適的下家。這樣的Intent對(duì)象會(huì)傳給安卓系統(tǒng)。安卓系 統(tǒng)根據(jù)Intent的要求,在整個(gè)系統(tǒng)范圍內(nèi)遍歷,找到合適的app來(lái)處理。合適與否,是由接收方的Intent Filter來(lái)決定的。每一個(gè)app的功能單元在編寫時(shí),都會(huì)附加一個(gè)Intent Filter的說(shuō)明,注明該功能單元愿意執(zhí)行的動(dòng)作。如果Intent中說(shuō)明的動(dòng)作與Intent Filter說(shuō)明的吻合,那么該app就是一個(gè)備選對(duì)象。如果有多個(gè)合適的備選對(duì)象,安卓手機(jī)會(huì)跳出菜單,供用戶選擇。

[[117411]]

總結(jié)

這里提到了安卓開發(fā)中最基本的一些概念。大體看來(lái),一個(gè)安卓應(yīng)用總是由數(shù)個(gè)功能單元構(gòu)成,這些功能單元由Intent連接。我將在后面的文章中,深入更多細(xì)節(jié)。

功能單元:Activity, Service, Broadcast Receiver

本文鏈接:http://www.cnblogs.com/vamei/p/3657249.html

 

責(zé)任編輯:chenqingxiang 來(lái)源: cnblogs
相關(guān)推薦

2022-01-12 10:57:59

網(wǎng)絡(luò)

2021-11-11 10:07:02

PythonXpath 網(wǎng)頁(yè)

2014-08-04 14:21:22

安卓架構(gòu)

2013-06-09 09:38:44

安卓第三方ROM谷歌Android

2021-10-17 22:30:37

安卓系統(tǒng)蘋果

2017-09-26 11:29:29

安卓

2021-03-03 14:17:40

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-04-04 22:58:20

互聯(lián)網(wǎng)IP網(wǎng)絡(luò)協(xié)議

2010-03-03 15:10:49

第三方Python庫(kù)

2020-03-10 10:19:42

安卓威脅安全

2022-06-16 09:00:00

安卓權(quán)限SElinuxLinux

2020-06-15 13:15:21

安卓刷機(jī)手機(jī)

2010-01-22 10:37:38

第三層交換機(jī)

2023-11-26 13:36:20

協(xié)議Raft

2019-06-20 16:07:12

鴻蒙安卓操作系統(tǒng)

2019-04-22 14:15:09

APP Store蘋果免費(fèi)試用

2015-11-10 17:44:08

2021-08-26 18:46:55

React組件前端

2018-07-02 06:33:25

物聯(lián)網(wǎng)手機(jī)漫游網(wǎng)絡(luò)

2015-08-04 17:43:02

ZUK Z1U-Touch指紋識(shí)別
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人在线一区二区 | 1区2区视频 | 亚洲精品一区二区三区中文字幕 | 国产精品国产三级国产aⅴ原创 | 农村黄性色生活片 | 在线观看a视频 | 欧美一区二区三区免费在线观看 | 在线午夜 | 噜久寡妇噜噜久久寡妇 | 色婷婷综合久久久久中文一区二区 | 欧美黑人一区 | 精品久久久久久亚洲精品 | 狠狠的干狠狠的操 | 日韩国产在线观看 | 三级av在线 | 亚洲午夜在线 | 欧美一区二区久久 | 2022国产精品 | 久草网址 | 日韩成人| 久久久久久av | 欧美日韩在线精品 | 国产精品特级毛片一区二区三区 | 天堂一区 | 国产精品久久精品 | 99久久免费精品国产男女高不卡 | av黄色免费在线观看 | 久久久91精品国产一区二区三区 | 国产精品精品久久久 | 日韩在线不卡 | 国产98色在线 | 日韩 | 在线观看国产网站 | 亚洲免费人成在线视频观看 | 久久国产精品-久久精品 | 一本色道精品久久一区二区三区 | 亚洲v区 | 亚洲va在线va天堂va狼色在线 | 欧美日韩亚洲国产综合 | 国产精品免费视频一区 | 精品久久久久久久久久久久久久久久久 | 日日操夜夜干 |