首頁 >web前端 >前端問答 >android四大組件是什麼

android四大組件是什麼

angryTom
angryTom原創
2019-07-20 14:11:2412253瀏覽

android四大組件是什麼

推薦教學:Android教學

#Android有四大元件: Activity、Service、Broadcast Receiver、Content Provider

1、activity

  (1)一個A​​ctivity通常就是一個單獨的螢幕(視窗)。

  (2)Activity之間透過Intent進行通訊。

  (3)android應用程式中每一個Activity都必須要在AndroidManifest.xml設定檔中聲明,否則系統將無法辨識也不執行該Activity。

2、service

  (1)service用於在背景完成使用者指定的操作。 service分為兩種:

    ●started(啟動):當應用程式元件(如activity)呼叫startService()方法啟動服務時,服務處於started狀態。

    ●bound(綁定):當應用程式元件呼叫bindService()方法綁定到服務時,服務處於bound狀態。

  (2)startService()與bindService()區別:

    ●started service(啟動服務)是由其他元件呼叫startService()方法啟動的,這導致服務的onStartCommand()方法被呼叫。當服務是started狀態時,其生命週期與啟動它的元件無關,並且可以在後台無限期運行,即使啟動服務的元件已經被銷毀。因此,服務需要在完成任務後呼叫stopSelf()方法停止,或由其他元件呼叫stopService()方法停止。

    ●使用bindService()方法啟用服務,呼叫者與服務綁定在了一起,呼叫者一旦退出,服務也就終止,大有「不求同時生,必須 同時死」的特點。

  (3)開發人員需要在應用程式設定檔中宣告全部的service,使用標籤。

  (4)Service通常位於後台運行,它一般不需要與使用者交互,因此Service元件沒有圖形使用者介面。 Service元件需要繼承Service基底類別。 Service元件通常用於為其他元件提供後台服務或監控其他元件的運作狀態。

3、content provider

  (1)android平台提供了Content Provider使一個應用程式的指定資料集提供給其他應用程式。其他應用程式可以透過ContentResolver類別從該內容提供者取得或存入資料。

  (2)只有需要在多個應用程式間共用資料是才需要內容提供者。例如,通訊錄資料被多個應用程式使用,且必須儲存在一個內容提供者中。它的好處是統一資料存取方式。

  (3)ContentProvider實作資料共享。 ContentProvider用於保存和獲取數據,並使其對所有應用程式可見。這是不同應用程式間共享資料的唯一方式,因為android沒有提供所有應用程式共同存取的公共儲存區。

  (4)開發人員不會直接使用ContentProvider類別的對象,大多數是透過ContentResolver物件實現對ContentProvider的操作。

  (5)ContentProvider使用URI來唯一標識其資料集,這裡的URI以content://作為前綴,表示該資料由ContentProvider來管理。

4、broadcast receiver

#  (1)你的應用程式可以使用它對外部事件進行過濾,只對感興趣的外部事件(如當電話呼入時,或數據網路可用時)進行接收並做出回應。廣播接收器沒有使用者介面。然而,它們可以啟動一個activity或serice來回應它們收到的訊息,或用NotificationManager來通知使用者。通知可以用很多方式來吸引使用者的注意力,例如閃爍背燈、震動、播放聲音等。一般來說是在狀態列上放一個持久的圖標,用戶可以打開它並獲取訊息。

  (2)廣播接收者的註冊有兩種方法,分別是程式動態註冊和AndroidManifest檔案中進行靜態註冊。

  (3)動態註冊廣播接收器特點是當用來註冊的Activity關掉後,廣播也就失效了。靜態註冊無需擔憂廣播接收器是否關閉,只要設備是開啟狀態,廣播接收器也是開啟著的。

以上是android四大組件是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn