Android 四大組件簡介

首先,Android四大組件分別為activity恢恼、service民傻、content provider、broadcast receiver场斑。

Reference:http://www.reibang.com/p/930dadb7a3cf

1漓踢、activity(窗口,通信漏隐,配置)

(1)一個Activity通常就是一個單獨的屏幕(窗口)喧半。

(2)Activity之間通過Intent進行通信。

(3)android應用中每一個Activity都必須要在AndroidManifest.xml配置文件中聲明青责,否則系統(tǒng)將不識別也不執(zhí)行該Activity挺据。

2、service(后臺爽柒,啟動吴菠,綁定)

(1)service用于在后臺完成用戶指定的操作。service分為兩種:

(a)started(啟動):當應用程序組件(如activity)調用startService()方法啟動服務時浩村,服務處于started狀態(tài)。

(b)bound(綁定):當應用程序組件調用bindService()方法綁定到服務時占哟,服務處于bound狀態(tài)心墅。

(2)startService()與bindService()區(qū)別:

(a)started service(啟動服務)是由其他組件調用startService()方法啟動的,這導致服務的onStartCommand()方法被調用榨乎。當服務是started狀態(tài)時怎燥,其生命周期與啟動它的組件無關,并且可以在后臺無限期運行蜜暑,即使啟動服務的組件已經(jīng)被銷毀铐姚。因此,服務需要在完成任務后調用stopSelf()方法停止肛捍,或者由其他組件調用stopService()方法停止隐绵。

(b)使用bindService()方法啟用服務,調用者與服務綁定在了一起拙毫,調用者一旦退出依许,服務也就終止,大有“不求同時生缀蹄,必須同時死”的特點峭跳。

(3)開發(fā)人員需要在應用程序配置文件中聲明全部的service膘婶,使用標簽。

(4)Service通常位于后臺運行蛀醉,它一般不需要與用戶交互悬襟,因此Service組件沒有圖形用戶界面。Service組件需要繼承Service基類拯刁。Service組件通常用于為其他組件提供后臺服務或監(jiān)控其他組件的運行狀態(tài)脊岳。

3、content provider(共享筛璧,ContentResoloever逸绎,URI)

(1)android平臺提供了Content Provider使一個應用程序的指定數(shù)據(jù)集提供給其他應用程序。其他應用可以通過ContentResolver類從該內容提供者中獲取或存入數(shù)據(jù)夭谤。

(2)只有需要在多個應用程序間共享數(shù)據(jù)是才需要內容提供者棺牧。例如,通訊錄數(shù)據(jù)被多個應用程序使用朗儒,且必須存儲在一個內容提供者中颊乘。它的好處是統(tǒng)一數(shù)據(jù)訪問方式。

(3)ContentProvider實現(xiàn)數(shù)據(jù)共享醉锄。ContentProvider用于保存和獲取數(shù)據(jù)乏悄,并使其對所有應用程序可見。這是不同應用程序間共享數(shù)據(jù)的唯一方式恳不,因為android沒有提供所有應用共同訪問的公共存儲區(qū)檩小。

(4)開發(fā)人員不會直接使用ContentProvider類的對象,大多數(shù)是通過ContentResolver對象實現(xiàn)對ContentProvider的操作烟勋。

(5)ContentProvider使用URI來唯一標識其數(shù)據(jù)集规求,這里的URI以content://作為前綴,表示該數(shù)據(jù)由ContentProvider來管理卵惦。

4阻肿、broadcast receiver

(1)你的應用可以使用它對外部事件進行過濾,只對感興趣的外部事件(如當電話呼入時沮尿,或者數(shù)據(jù)網(wǎng)絡可用時)進行接收并做出響應丛塌。廣播接收器沒有用戶界面。然而畜疾,它們可以啟動一個activity或serice來響應它們收到的信息赴邻,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力庸疾,例如閃動背燈乍楚、震動、播放聲音等届慈。一般來說是在狀態(tài)欄上放一個持久的圖標徒溪,用戶可以打開它并獲取消息忿偷。

(2)廣播接收者的注冊有兩種方法,分別是程序動態(tài)注冊和AndroidManifest文件中進行靜態(tài)注冊臊泌。

(3)動態(tài)注冊廣播接收器特點是當用來注冊的Activity關掉后鲤桥,廣播也就失效了。靜態(tài)注冊無需擔憂廣播接收器是否被關閉渠概,只要設備是開啟狀態(tài)茶凳,廣播接收器也是打開著的。也就是說哪怕app本身未啟動播揪,該app訂閱的廣播在觸發(fā)時也會對它起作用贮喧。


1)4大組件的注冊

4大基本組件都需要注冊才能使用,每個Activity猪狈、service箱沦、Content Provider都需要在AndroidManifest文件中進行配置。

2)4大組件的激活

內容提供者的激活:當接收到ContentResolver發(fā)出的請求后雇庙,內容提供者被激活谓形。而其它三種組件activity、服務和廣播接收器被一種叫做intent的異步消息所激活疆前。

3)4大組件的關閉

內容提供者僅在響應ContentResolver提出請求的時候激活寒跳。而一個廣播接收器僅在響應廣播信息的時候激活。所以竹椒,沒有必要去顯式的關閉這些組件童太。Activity關閉:可以通過調用它的finish()方法來關閉一個activity。服務關閉:對于通過startService()方法啟動的服務要調用Context.stopService()方法關閉服務胸完,使用bindService()方法啟動的服務要調用Contex.unbindService()方法關閉服務康愤。


作者:駿駿的簡書

鏈接:http://www.reibang.com/p/930dadb7a3cf

來源:簡書

著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權舶吗,非商業(yè)轉載請注明出處。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末择膝,一起剝皮案震驚了整個濱河市誓琼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肴捉,老刑警劉巖腹侣,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異齿穗,居然都是意外死亡傲隶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門窃页,熙熙樓的掌柜王于貴愁眉苦臉地迎上來跺株,“玉大人复濒,你說我怎么就攤上這事∑故。” “怎么了巧颈?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袖扛。 經(jīng)常有香客問我砸泛,道長,這世上最難降的妖魔是什么蛆封? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任唇礁,我火速辦了婚禮,結果婚禮上惨篱,老公的妹妹穿的比我還像新娘盏筐。我一直安慰自己,他們只是感情好妒蛇,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布机断。 她就那樣靜靜地躺著,像睡著了一般绣夺。 火紅的嫁衣襯著肌膚如雪吏奸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天陶耍,我揣著相機與錄音奋蔚,去河邊找鬼。 笑死烈钞,一個胖子當著我的面吹牛泊碑,可吹牛的內容都是我干的。 我是一名探鬼主播毯欣,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼馒过,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了酗钞?” 一聲冷哼從身側響起腹忽,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砚作,沒想到半個月后窘奏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡葫录,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年着裹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片米同。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡骇扇,死狀恐怖摔竿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情匠题,我是刑警寧澤拯坟,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站韭山,受9級特大地震影響郁季,放射性物質發(fā)生泄漏。R本人自食惡果不足惜钱磅,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一梦裂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盖淡,春花似錦年柠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至味赃,卻和暖如春掀抹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背心俗。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工傲武, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人城榛。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓揪利,卻偏偏與公主長得像,于是被迫代替她去往敵國和親狠持。 傳聞我的和親對象是個殘疾皇子疟位,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內容