Android的四大元件的理解

2021-07-29 08:17:13 字數 1724 閱讀 2493

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中登記這些構造塊的清單。這個配置檔案用於定...