1.activity
生命週期如圖
![這裡寫描述](
首先說一下activity的四種狀態,
每乙個activity都是乙個單獨的介面,利用intent傳遞資料
activity的啟動模式
服務的啟動模式:有兩種1.startservice 2.bindservice
服務的分類: 本地服務(安卓自帶的應用於程式的內部)和遠端服務(用於系統內不得應用程式之間)
生命週期 context.startservice->oncreate->onstart->ondestory
context.bindservice->oncreate->onbind()->onunbind->ondestory
兩種啟動模式的區別
onstart->啟動 必須呼叫stopservice 服務結束
bindservice->一旦呼叫者退出,服務終止
3.broadcastreceiver
broadcastreceiver用於非同步接收廣播intent
分類
1.有序廣播
context.sendorderbroadcast()傳送每次被傳送到乙個receiver.所謂的有序,就是每乙個receiver執行後可以傳播到下乙個receiver也可以中間終止廣播.而receiver執行的順序可以通過matched intent-filter裡面的priority來設定優先順序控制,
2.無需廣播
context.sendbroadcast()傳送 是完全非同步的.他們都執行在乙個未定義的順序,通常是在同乙個時間,這樣會更有效,這就意味著不能包含所要使用的結果或者終止的api
廣播是沒有視覺化的介面來顯示廣播資訊的,可以通過notifacation和notification manager來實現視覺化.包括圖示和震動資訊.
生命週期
乙個廣播物件只有在被呼叫onreceiver的時候才有效,當函式返回後,生命週期結束.
注意:onreceiver裡面不能使用執行緒來執行.對於耗時的操作用服務的形式來完成,因為onreceiver結束的時候broadcastreceiver可能已經無效了.
註冊receiver
1.靜態註冊
在配置檔案裡面新增**
android:name=".smsreceiver">
android:name="android.provider.telephony.sms_received" />
intent-filter>
receiver>
2.動態方式註冊
public
class
hellodemo
extends
activity
@override
protected
void
onstop()
}
靜態方式註冊方便管理
4.contentprovider
contentprovider內容提供者是android的四大元件之一,主要用於對外共享資料,也就是把應用中的資料共享給其他的應用訪問,
參考了
的部落格
Android的四大元件
1 活動 activity 簡而言之,活動就是我們所看到的介面,是視覺化的能夠被使用者直接看到的元件,軟體通過activity向使用者展示軟體所設計的畫面。2 服務 service 服務沒有使用者介面,我們是看不到的,它在後台執行,並且可以長時間執行,也可以和其他元件進行互動。service基本上分...
android 四大元件
1.activity 2.service 3.contentprovider 應用中的資料,對外進行共享,其它應用可以通過內容提供者,可以訪問到你應用中的資料,對資料進行增刪改查 1 對不同的資料格式,統一了檔案格式和資料訪問api 2 內容提供者要繼承contentprovider類 3 在清單檔...
Android 四大元件
activity intent receiver service content provider 並不是每乙個android應用程式都需要這四種構造塊,這不是必須的。當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidmanifest.xml中登記這些構造塊的清單。這個配置檔案用於定...