【威哥說(shuō)】今天威哥的視頻將由美女曹老師親自通過(guò)QQ依次發(fā)給大家委可,還沒(méi)有加上曹老師QQ的兄弟姐妹們速度加上曹老師喲庐椒。1409615756
1>??? 4大組件的注冊(cè)
4大基本組件都需要注冊(cè)才能使用,每個(gè)Activity踢关、service育特、Content Provider內(nèi)容提供者都需要在AndroidManifest文件中進(jìn)行配置AndroidManifest文件中未進(jìn)行聲明的activity芽死、服務(wù)以及內(nèi)容提供者將不為系統(tǒng)所見(jiàn)啃憎,從而也就不可用芝囤,而B(niǎo)roadcastReceive廣播接收者的注冊(cè)分靜態(tài)注冊(cè)(在AndroidManifest文件中進(jìn)行配置)和通過(guò)代碼動(dòng)態(tài)創(chuàng)建并以調(diào)用Context.registerReceiver()的方式注冊(cè)至系統(tǒng)。需要注意的是在AndroidManifest文件中進(jìn)行配置的廣播接收者會(huì)隨系統(tǒng)的啟動(dòng)而一直處于活躍狀態(tài),只要接收到感興趣的廣播就會(huì)觸發(fā)(即使程序未運(yùn)行)
AndroidManifest文件中進(jìn)行注冊(cè)格式如下:
元素的name屬性指定了實(shí)現(xiàn)了這個(gè)activity的Activity的子類(lèi)辛萍。icon和label屬性指向了包含展示給用戶(hù)的此activity的圖標(biāo)和標(biāo)簽的資源文件悯姊。
元素用于聲明服務(wù)
元素用于聲明廣播接收器
元素用于聲明內(nèi)容提供者
2>?? 4大組件的激活
?容提供者的激活:當(dāng)接收到ContentResolver發(fā)出的請(qǐng)求后,內(nèi)容提供者被激活贩毕。而其它三種組件──activity悯许、服務(wù)和廣播接收器被一種叫做intent的異步消息所激活
? Activity的激活通過(guò)傳遞一個(gè)Intent對(duì)象至Context.startActivity()或Activity.startActivityForResult()以載入(或指定新工作給)一個(gè)activity。相應(yīng)的activity可以通過(guò)調(diào)用getIntent()方法來(lái)查看激活它的intent辉阶。如果它期望它所啟動(dòng)的那個(gè)activity返回一個(gè)結(jié)果先壕,它會(huì)以調(diào)用startActivityForResult()來(lái)取代startActivity()瘩扼。比如說(shuō),如果它啟動(dòng)了另外一個(gè)Activity以使用戶(hù)挑選一張照片垃僚,它也許想知道哪張照片被選中了集绰。結(jié)果將會(huì)被封裝在一個(gè)Intent對(duì)象中,并傳遞給發(fā)出調(diào)用的activity的onActivityResult()方法谆棺。
?服務(wù)的激活可以通過(guò)傳遞一個(gè)Intent對(duì)象至Context.startService()或Context.bindService()前者Android調(diào)用服務(wù)的onStart()方法并將Intent對(duì)象傳遞給它栽燕,后者Android調(diào)用服務(wù)的onBind()方法將這個(gè)Intent對(duì)象傳遞給它
?發(fā)送廣播可以通過(guò)傳遞一個(gè)Intent對(duì)象至給Context.sendBroadcast()、
Context.sendOrderedBroadcast()或Context.sendStickyBroadcast()Android會(huì)調(diào)用所有對(duì)此廣播有興趣的廣播接收器的onReceive()方法包券,將intent傳遞給它們
3>四大組件的關(guān)閉
內(nèi)容提供者僅在響應(yīng)ContentResolver提出請(qǐng)求的時(shí)候激活。而一個(gè)廣播接收器僅在響應(yīng)廣播信息的時(shí)候激活炫贤。所以溅固,沒(méi)有必要去顯式的關(guān)閉這些組件。
Activity關(guān)閉:可以通過(guò)調(diào)用它的finish()方法來(lái)關(guān)閉一個(gè)activity
服務(wù)關(guān)閉:對(duì)于通過(guò)startService()方法啟動(dòng)的服務(wù)要調(diào)用Context.stopService()方法關(guān)閉服務(wù)兰珍,使用bindService()方法啟動(dòng)的服務(wù)要調(diào)用Contex.unbindService ()方法關(guān)閉服務(wù)
.
【更多精彩內(nèi)容】