安卓四大組件:Activity、Service、BroadcastReceiver和ContentProvider,作用:
1、Activity組件的主要作用是展示一個界面并和用戶交互,它扮演的是一種前臺界面的角色
Activity是一種展示型組件,主要是向用戶展示一個界面,并且可以接收用戶的輸入信息從而和用戶進行交互。對用戶來說,Activity就是Android應用的全部,因為其他三大組件對用戶來說是不可感知的。Activity的啟動由Intent觸發,其中Intent分為顯式啟動和隱式啟動。
2、Service組件的主要作用是在后臺執行計算任務,執行任務的結果可以和外界進行通信
Service是一種計算型組件,用于在后臺執行一系列計算任務。由于Service組件工作在后臺,因此用戶無法直接感知到它的存在。Service組件和Activity組件不同,Activity組件只有一種運行模式,即Activity處于啟動狀態,但是Service組件卻有兩種狀態:啟動狀態和綁定狀態。Service組件處于啟動狀態時,它的內部可以執行一些后臺計算,并且不需要和外界有直接的交互。Service處于綁定狀態,Service內部同樣也可以執行后臺計算,但是處于這種狀態的Service可以很方便地和外界進行通信。
3、BroadcastReceiver組件的主要作用是消息的傳遞,該消息的傳遞可以在應用內,也可以在應用之間,它的角色是一個消息的傳遞者
BroadcastReceiver是一種消息型組件,用于在不同組件乃至不同應用之間傳遞消息。BroadcastReceiver同樣無法被用戶所感知,因為它工作在系統內部。BroadcastReceiver也叫做廣播,廣播的注冊方式有兩種:靜態注冊和動態注冊。靜態注冊指在AndroidManifest中注冊廣播,這種廣播在應用安裝時被系統解析,此種形式的廣播不需要應用啟動就可以接收到相應的廣播。動態廣播需要通過Context.registerReceiver()來實現,并且在不需要的時候通過Context.unRegisterReceiver()解除廣播,此種形態的廣播必須要應用啟動才能注冊并接收廣播。
4、ContentProvider組件的主要作用是作為一個平臺,提供數據的共享,并且提供數據的增刪改查功能。主要應用于應用之間的數據共享場景
ContentProvider是一種數據共享型組件,用于向其他組件乃至其他應用共享數據。同樣的,它也無法被用戶所感知。對于ContentProvider組件來說,它的內部需要實現增刪改查這四種操作。需要注意的是,ContentProvider內部的delete、update和query方法需要處理好線程同步,因為這幾個方法都是在Binder線程池中被調用的。ContentProvider組件不需要手動停止。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com