(6 Android) Android應用程序的基本組成

Android應用程序是由組件組成的茸俭,組件可以調(diào)用相互獨立的功能模塊。根據(jù)完成的功能安皱,組件可劃分為四類核心組件调鬓,即Activity、Service酌伊、BroadcastReceiver和ContentProvider腾窝。

1 Activity組件

Activity是Android最重要的組件,負責用戶界面的設計居砖。Activity用戶界面框架采用MVC 模式(Model View Controller) 虹脯。控制器負責接受并響應程序的外部動作;通過視圖反饋應用程序給用戶的信息(UI 界面反饋);模型是應用程序的核心奏候,用于保存數(shù)據(jù)和代碼循集。

2 Service組件

Service是Android提供的無用戶界面、長時間在后臺運行的組件蔗草。Android 提供了許多系統(tǒng)服務程序咒彤。

3 BroadcastReceiver組件

在Android系統(tǒng)中,當有特定事件發(fā)生時就會產(chǎn)生相應的廣播咒精。例如镶柱,開機啟動完成、收到短信模叙、電池電量改變歇拆、網(wǎng)絡狀態(tài)改變等。

為了通知手機用戶有事件發(fā)生范咨,在通常情況下故觅,通知管理器(NotificationManager)會在手機的狀態(tài)欄里產(chǎn)生一個具有提示音的通知,用戶通過下滑手勢可以查看相關信息湖蜕。

BroadcastReceiver(廣播接收者)接收來自系統(tǒng)或其他應用程序的廣播逻卖,并做出回應。

4 ContentProvider組件

為了跨進程共享數(shù)據(jù)昭抒, Android提供了ContentProvider接口,可以在無須了解數(shù)據(jù)源、路徑的情況下灭返,對共享數(shù)據(jù)進行查詢盗迟、添加、刪除和更新等操作熙含。

5 Application罚缕、Context和Intent

a.應用對象Application

當Android程序啟動時系統(tǒng)會創(chuàng)建一個Application類型的對象,用來存儲系統(tǒng)的一些信息完成數(shù)據(jù)傳遞怎静、共享和緩存等操作邮弹。

Application對象的生命周期是整個程序中最長的,它的生命周期就等于這個程序的生命周期蚓聘,且是全局腌乡、單例的,即在不同的Activity和Service中獲得的對象都是同一個對象夜牡。

b.上下文對象Context

Activity和Service都是Context的子類与纽,通過Context提供的方法getApplicationContext()就能獲得Context對象。

BroadcastReceiver塘装、ContentProvider并不是Context的子類急迂,其所持有的Context都是由其他組件傳遞過來的。

Android組件及通信機制蹦肴,如圖所示僚碎。

2.png

c.意圖對象Intent

Android提供輕量級的進程間通信機制Intent,使跨進程組件通信和發(fā)送系統(tǒng)廣播成為可能阴幌,組件Activity勺阐、Service和BroadcastReceiver都是通過消息機制被啟動(激活)的,其使用的消息就封裝在對象Intent里裂七。

6 Android應用程序的運行入口

在一個Android應用程序開始運行的時候皆看,會單獨啟動一個進程(Process)。默認的情況下背零,這個應用程序中的所有組件(Activity腰吟、Service、BroadcastReceiver和ContentProvider)都會運行在這個進程里徙瓶。

一個Android應用程序通常由多個Activity組成毛雇,但只有一個主Activity。在項目清單文件中使用< activity >標簽注冊主Activity時侦镇,還需要內(nèi)嵌 < intent-filter > 灵疮、 < action> 和 < category > 標簽,以此說明該Activity為Android應用程序的入口壳繁。定義一個MainActivity.java為應用的主Activity代碼如下:

3.png
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末震捣,一起剝皮案震驚了整個濱河市荔棉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒿赢,老刑警劉巖润樱,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異羡棵,居然都是意外死亡壹若,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門皂冰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來店展,“玉大人,你說我怎么就攤上這事秃流÷冈蹋” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵剔应,是天一觀的道長睡腿。 經(jīng)常有香客問我,道長峻贮,這世上最難降的妖魔是什么席怪? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮纤控,結果婚禮上挂捻,老公的妹妹穿的比我還像新娘。我一直安慰自己船万,他們只是感情好刻撒,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耿导,像睡著了一般声怔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舱呻,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天醋火,我揣著相機與錄音,去河邊找鬼箱吕。 笑死芥驳,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的茬高。 我是一名探鬼主播兆旬,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼怎栽!你這毒婦竟也來了丽猬?” 一聲冷哼從身側(cè)響起宿饱,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宝鼓,沒想到半個月后刑棵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巴刻,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡愚铡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了胡陪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沥寥。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柠座,靈堂內(nèi)的尸體忽然破棺而出邑雅,到底是詐尸還是另有隱情,我是刑警寧澤妈经,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布淮野,位于F島的核電站,受9級特大地震影響吹泡,放射性物質(zhì)發(fā)生泄漏骤星。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一爆哑、第九天 我趴在偏房一處隱蔽的房頂上張望洞难。 院中可真熱鬧,春花似錦揭朝、人聲如沸队贱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柱嫌。三九已至,卻和暖如春屯换,著一層夾襖步出監(jiān)牢的瞬間编丘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工趟径, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瘪吏,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓蜗巧,卻偏偏與公主長得像掌眠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子幕屹,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容