Android基礎之應用程式組件

來源:互聯網
上載者:User

標籤:android   io   使用   sp   檔案   on   資料   bs   cti   

Android應用程式由若干個不同類型的組件組合而成,每一個組件具有其特定的安全保護設計方式,它們的安全直接影響到應用程式的安全。Android應用程式組件的主要類型有:活動(Activity),服務(Service),廣播接收者(Broadcast Receiver),內容提供者(Content Provider),意圖(Intent),小工具(Widget),通知(Notification)等。其中最重要的是前5種。在決定使用以上哪些組件來構建Android應用程式時,應該將它們列在AndroidManifest.xml檔案中,這個檔案用於聲明應用程式組件以及它們的特性和要求。下面先分別對活動(Activity),服務(Service),內容提供者(Content Provider),廣播接收者(Broadcast Receiver)和意圖(Intent)5種組件加以介紹。

活動(Activity)

Activity是應用程式的展示層,為使用者展示介面,一個Activity通常展現為一個可視化的使用者介面,比如一個手機的連絡人功能可能包含一個顯示連絡人清單的Activity,一個可編輯連絡人資訊的Activity,以及其他一些查看或修改資訊的Activity。每一個Activity都是相對獨立的,這些Activity一起工作,共同組成了一個連絡人應用程式。一個應用程式可以包含一個或多個Activity,通常每個應用程式運行後都會啟動一個Activity展現出第一個介面,在當前展現給使用者的Activity中啟動一個新的Activity或調用其他應用程式的Acitivity,實現從一個介面跳轉到另外一個介面。

服務(Service)

Service在後台運行,沒有展現出使用者介面。它們可以為前台的Activity提供資料來源更新,並觸發通知。例如,使用者處理其他事情的時候可以啟動一個Service播放背景音樂,或者啟動郵件用戶端的一個Service通過間斷性地串連郵件伺服器下載新郵件。

Service的另一種重要的用途為通過AIDL(Android Interface Definition Language,Android介面描述語言)實現處理序間通訊。例如,在某一應用程式中,其他應用程式組件可以直接與該應用程式後台啟動並執行Service進行互動;另一方面,多個應用程式通過Service,可以在保證進程安全的前提下,實現它們之間的通訊 。

內容提供者(Content Provider)

Content Provider是一種應用間資料共用的機制,提供了多個應用程式共用儲存資料的方式,相當於一種跨應用程式的資料操作,一個應用程式可以允許其他應用程式通過Content Provider對其SQL資料,映像,聲音或其他資料類型進行增,刪,改,查等操作。Content Provider為資料進行操作提供了統一的介面,為應用程式提供了4個介面函數:intsert,update,delete及query,Content Provider屏蔽了資料操作的具體實現細節,應用程式只需要通過Content Provider調用相應介面函數即可完成操作,這種方式大大簡化了跨應用程式的資料操作。


 

Android基礎之應用程式組件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.