本文介紹Android的體系結構,Android應用程序的組成和Android應用的邏輯組成。java
1. Android體系結構linux
Android的軟件層次結構包括一個操做系統,中間件,應用程序。其軟件層次結構自上而下可分爲:數據庫
應用程序:以java語言編寫,設計用戶界面交互設計。Android自己提供了桌面,聯繫人,電話,瀏覽器等不少核心的應用。瀏覽器
應用程序框架:爲應用程序提供系統的API。經過Android的應用程序框架,開發人員可重用各類組件和服務。應用程序的框架組成部分:框架
Android庫和運行時環境eclipse
Android包含一些核心的C/C++庫,這些庫能經過JNI技術供系統的各類組件使用。ide
這些庫包括:佈局
Android包含了一個核心庫,該核心庫提供了java語言核心庫的大多數功能。字體
每個Android應用程序都在本身的進程空間內運行,都擁有一個獨立的dalvik虛擬機實現。Dalvik被設計成一個設備,可同時高效的運行多個虛擬系統。dalvik虛擬機依賴於linux內核的一些功能,如線程調度,內存管理。動畫
2. Android應用程序組成
Android程序包括如下四部分:
Activity,通常表明手機屏幕的一屏,至關於瀏覽器的一個頁面。在Activity中添加view,實現應用界面和用戶交互。一個應用程序通常由多個Activity構成,這些Activity之間可互相跳轉,可進行頁面間的數據傳遞。每一個Activity都有本身的生命週期。
Intent Receiver,Intent是一次對將要執行的操做的抽象描述。經過Intent,可實現Activity與Activity之間的跳轉。Intent最重要的組成部分是Intent的動做(Action)和動做對應的數據(data)。與Intent相關的一個類叫Intent Filters。它用來描述Intent可以用來處理哪些操做。
Broadcast Intent Receiver,用於響應外部事件。BroadcastReceiver不能生成UI,因此對用戶來講是不可見的。
Service,運行在後臺的應用程序。
Content Provider:一個Content Provider提供了一組標準的接口,從而可以讓應用程序保存或讀取Content Provider的各類數據類型。一個應用程序可經過它將本身的數據暴露出去。對於外界的應用程序來講,它不須要關心這些數據的存儲方式,存儲地方,只須要經過Content Provide提供的r接口訪問這些數據便可。固然這涉及到數據訪問的權限問題。
3. Android工程文件組成
Android的開發使用eclipse+ADT。
工程文件包括: