1.3 Android App 組件架構(gòu)

前面講解了Android的系統(tǒng)架構(gòu)媒鼓,而在應(yīng)用層,Android的App組件架構(gòu)粱坤,通常就是我們所說的Android四大組件隶糕,指的是Activity,BroadCastRecivicer,ContentProvider,和Service,他們失足成一個Android App的最基本的元素。

1.3.1 ? ?Android四大組件協(xié)同工作

Android中的四大組件的使用方法與使用場景都各不相同,但它們之間也保持著緊密的聯(lián)系站玄,你中有我枚驻,我中有你,緊密相連株旷,秘而不可分再登。

? ? ? ? ? ?Activity作為人機交互的第一界面,負責向用戶展示信息和處理結(jié)果晾剖,锉矢,而這些信息的來源可以通過資源獲取,也可以通過ContentProvider 來獲取其他應(yīng)用的信息齿尽,或是Service從后臺計算沽损、下載、處理的結(jié)果循头,當然也可以通過 BroadCastReceiver 獲取的廣播信息绵估。同時Android系統(tǒng)還提供了一個信使------intent炎疆,作為信息的傳遞的載體。組件于組件之間通過Intent來通訊国裳、傳遞信息形入、交換數(shù)據(jù),正是通過這樣的一種形式缝左,四大組件形成了各自獨立而又緊密相連的關(guān)系亿遂,讓整個Android系統(tǒng)“活” 了起來。

? ? ? ? ?Android四大組件在開發(fā)者的協(xié)調(diào)下渺杉,共同完成這開發(fā)者賦予他們的使命蛇数,他們之間沒有孰優(yōu)孰略,所有的組件存在的道理就是為了讓程序能夠更好的實現(xiàn)開發(fā)者的功能少办。當然苞慢,熟知每個組件的功能、特點英妓、矢门,才能在使用時運籌帷幄睦刃。在這里,大家只需要對四大組件的協(xié)同工作模式有個基本的概念即可,隨著本書的講解眠屎,大家會慢慢掌握這些組件的使用技巧永票。

1.3.2 ? 應(yīng)用上下文對象

? ? ? ? ?在高中的時候昏滴,語文課本上經(jīng)常會出現(xiàn)這樣的一句話--------“請聯(lián)系上下文昼窗,分析這句話在文中的作用”,我們可理解為當前對象在程序中所處的一個環(huán)境敷燎,一個與系統(tǒng)交互的過程暂筝。

? ? ? ? Android系統(tǒng)的上下文對象,即在Context中硬贯,為我們封裝了這樣一個“語境”焕襟。Activity、Service饭豹、Application都是繼承自Context鸵赖。

? ? ? ? Android應(yīng)用程序會在如下所示的幾個時間點創(chuàng)建應(yīng)用上下文Content。

? ? ? ? ? ? ? ?創(chuàng)建Application

? ? ? ? ? ? ? ?創(chuàng)建Activity

? ? ? ? ? ? ? ?創(chuàng)建Service

不難發(fā)現(xiàn)拄衰,創(chuàng)建Context的時機就是創(chuàng)建Context的實現(xiàn)類的時候它褪。當應(yīng)用程序第一次啟動時,Android系統(tǒng)會創(chuàng)建一個Application對象翘悉,同時創(chuàng)建application Context茫打,所有的組件都共同擁有這樣一個Context對象,這個應(yīng)用上下文對象貫穿整個應(yīng)用進程的生命周期,為應(yīng)用全局提供了功能和環(huán)境的支持老赤,而創(chuàng)建Activity和Service組件時饼煞,系統(tǒng)也會給他們提供運行的上下環(huán)境,及創(chuàng)建Activity和Service實例的Context對象诗越。所以跟多讀者在Acticity中獲取Context對象是,可以使用this息堂,而在匿名內(nèi)部內(nèi)中就必須指定XXXactivity.this才可以獲取該Activity的Context對象嚷狞。當然,你也可以通過getApplicationContext()方法來獲取整個App的Context荣堰,但是通過getApplicationContext()是獲得的是整個應(yīng)用的上下文引用床未,這與某個組件的上下文引用,在某些時候還是有區(qū)別的振坚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末薇搁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子渡八,更是在濱河造成了極大的恐慌啃洋,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屎鳍,死亡現(xiàn)場離奇詭異宏娄,居然都是意外死亡,警方通過查閱死者的電腦和手機逮壁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門孵坚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窥淆,你說我怎么就攤上這事卖宠。” “怎么了忧饭?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵扛伍,是天一觀的道長。 經(jīng)常有香客問我眷昆,道長蜒秤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任亚斋,我火速辦了婚禮作媚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帅刊。我一直安慰自己纸泡,他們只是感情好,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布赖瞒。 她就那樣靜靜地躺著女揭,像睡著了一般蚤假。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吧兔,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天磷仰,我揣著相機與錄音,去河邊找鬼境蔼。 笑死灶平,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的箍土。 我是一名探鬼主播逢享,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼吴藻!你這毒婦竟也來了瞒爬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤沟堡,失蹤者是張志新(化名)和其女友劉穎侧但,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體航罗,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡俊犯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伤哺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片燕侠。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖立莉,靈堂內(nèi)的尸體忽然破棺而出绢彤,到底是詐尸還是另有隱情,我是刑警寧澤蜓耻,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布茫舶,位于F島的核電站,受9級特大地震影響刹淌,放射性物質(zhì)發(fā)生泄漏饶氏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一有勾、第九天 我趴在偏房一處隱蔽的房頂上張望疹启。 院中可真熱鬧,春花似錦蔼卡、人聲如沸喊崖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荤懂。三九已至茁裙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間节仿,已是汗流浹背晤锥。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留廊宪,地道東北人查近。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像挤忙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谈喳,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,761評論 25 707
  • Android Studio JNI流程首先在java代碼聲明本地方法 用到native關(guān)鍵字 本地方法不用去實現(xiàn)...
    MigrationUK閱讀 11,847評論 7 123
  • 祝天下所有父親婿禽,節(jié)日快樂 我的父親不愛說話赏僧,不像母親,總會抱怨我不打電話回家扭倾。 從小到大淀零,我和父親的對話都特別少,...
    小強大人閱讀 1,006評論 10 30
  • 寫著玩 安全問題其實是很多程序員想了解又容易忽略的問題膛壹,以下介紹一些常見的安全問題和解決方案驾中,當然有的問題使用阿...
    芒果哥哥哈閱讀 10,374評論 2 5
  • 當你為一朵玫瑰而歡呼雀躍的時候肩民,而有人在世界的另一頭對面一叢的玫瑰淡然欣賞。這個世界就是這么不公平链方,在你千百...
    落日余暉amor閱讀 255評論 0 1