Android應用程序由鬆散耦合的組件組成,並使用應用程序Manifest綁定到一塊兒:應用程序Manifest描述了每個組件和它們之間的交互方式,還用於指定應用程序元數據,其硬件和平臺要求,外部庫以及必需的權限。android
下面幾個組件提供了應用程序的基本結構模塊:數據庫
Activity:應用程序的表示層。應用程序中的每個UI都是經過Activity類的一個或多個擴展實現的。Activity使用Fragment和視圖來佈局和顯示信息,以及響應用戶動做。框架
Service:應用程序中不可見的工做者。Service組件在運行時沒有UI,它們能夠更新數據源和Activity,觸發通知和廣播Intent。它們被用來執行一些運行時間長的任務,或者不須要用戶交互的任務。ide
Content Provider:一個可共享的持久數據存儲器。Content Provider用來管理和持久化應用程序數據,一般會與SQL數據庫交互。Content Provider是在應用程序之間共享數據的首選方法。能夠經過配置本身的Content Provider來容許其餘應用程序訪問,也能夠訪問其餘應用程序提供的Content Provider。android設備包含了多個本地content Provider來提供有用的數據庫,如媒體庫和聯繫人信息等。佈局
Intent:一個強大的應用程序間的消息傳遞框架。android中大量使用了Intent。Intent能夠用來啓動和中止Activity和Service,在系統範圍內或向目標Activity,Service或Broadcast Receiver廣播消息,以及請求對特定的一數據執行操做。spa
Broadcast Receiver:Intent偵聽器。Broadcast Receiver使應用程序能夠監聽到那些匹配指定的過濾標準的Intent廣播。Broadcast Receiver會自動地啓動應用程序來響應某個收到的Intent,這個特色使它們成爲了事件驅動的應用程序的最佳選擇。事件
Widget:一般添加到設備主屏幕的可視化應用程序組件。widget是Broadcast Receiver的特殊變體,可用於建立動態的交互式應用程序組件,用戶能夠把這些組件添加到他們的主屏幕上。get
Notification:Notification容許向用戶發送信號,但卻不會過度吸引他們的注意力或者打斷他們當前的Activity。它們是應用程序不可見或者不活動時(特別是Service或者Broadcast Receiver)吸引用戶注意的首選方法。例如,當設備接收到一個文本消息或者電子郵件的時候,消息傳遞應用程序或者Gmail應用程序能夠經過閃燈,發出聲音,顯示圖標或者滾動顯示消息摘要的方式來提醒你。這就是利用了Notification功能。也能夠在本身的應用程序中使用Notification。
it