android 的幾種應(yīng)用組件:
1, activity 和view
activity主要用來與用戶交互。它可以通過setContentView(View)來顯示指定的組件。
view組件是所有的ui控件、容器控件的基類,view組件需要放到容器組件中、或者十一年activity來顯示。
eg: LinearLayout layout = new LinearLayout(this);
layout.setContentView(layout);
setContentView也接受一個布局管理資源的id作為參數(shù),eg:setContentView(R.layout.main);
一個android應(yīng)用可以包含多個activity,多個activity組成一個activity棧,當(dāng)前活動的這個activity在棧頂。
2 ,service
service也是一個獨立的組件,跟activity一樣。兩者區(qū)別是:service常運行在后臺,不需要與用戶交互,他沒有圖形用戶界面。service為其他組件提供后臺服務(wù)或者監(jiān)控其他組件的運行狀態(tài)。
3,broadcastReceiver
broadcastReceiver代表廣播消息接收器。從代碼來看,他類似事件中的監(jiān)聽器。與其他監(jiān)聽器不同的是:其他的監(jiān)聽器的事件源是對象,broadcastReceiver監(jiān)聽的是其他組件。
4 contentprovider
contentprovider為android跨應(yīng)用提供了一個標(biāo)準。與contentprovider相結(jié)合的是contentResolve,一個應(yīng)用程序負責(zé)使用contentprovider來暴漏數(shù)據(jù),另一個應(yīng)用程序負責(zé)使用contentResolve來訪問數(shù)據(jù)。
5 intert 和intentfilter
intent是不同組件間的通信載體,主要是在activity,service,broadcastReceiver這三者之間的通信。只是不同的組件使用intent的機制略有不同而已:
activity:可調(diào)用Context 的startActivity(Intent i);
service:可調(diào)用Context 的startServic(Intent i)或者bindService(Intent i);
broadcastReceiver:可調(diào)用Context 的sendBroadcast(Intent i)、sendStickyBroadCast(Intent i)或者sendOrderedBroadcast(Intent i,String s)這個三個方法來發(fā)送廣播內(nèi)容;
intent分為顯性的和隱性的:
顯式intent:明確指定需要啟動或者觸發(fā)的組件名稱;
隱式intent:只是指定需要啟動或者觸發(fā)的組件應(yīng)該滿足的條件。這個需要系統(tǒng)對inten進行解析。然后在查找匹配的目標(biāo)組件,最后啟動或者觸發(fā)他們。
intentFilter來判斷intent是顯式還是隱式。
此處記載,主要用于記。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。