Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android開發者指南(8) —— What is Android?

Android開發者指南(8) —— What is Android?

編輯:Android開發實例

前言

  本章內容為開發者指南(Dev Guide)/Android Basics/What is Android?,版本為Android3.0 r1,翻譯轉載並整理自:"gansc23",再次感謝"gansc23" !
 

 

原文
 

  http://developer.android.com/guide/basics/what-is-android.html

 

Android是什麼? (What is Android?)

Android是一個針對於移動設備的軟件棧,它包括操作系統,中間件和關鍵應用程序。Android SDK提供了在Android平台使用Java編程語言進行開發應用程序的必要的工具和API。

 

特性(Features)

* 應用程序框架(Application framework)  可重用並可替換的組件

* Dalvik虛擬機(Dalvik virtual machine) 為移動設備而優化

* 集成浏覽器(Integrated browser) 基於開源的WebKit引擎

* 優化的圖形處理(Optimized graphics) 以定制的2D圖形庫和基於OpenGLES 1.0規范的3D圖形(可選的硬件加速)為基礎

* SQLite結構化數據存儲

* 媒體支持(Media support) 通用音頻、視頻,還有圖像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

* GSM電話(GSM Telephony) (依賴硬件)

* 藍牙(Bluetooth), EDGE, 3G, and WiFi (依賴硬件)

* 照相機,GPS,指南針,加速感應器(Camera, GPS, compass, and accelerometer) (依賴硬件)

* 豐富的開發環境(Rich development environment) 包括設備模擬器,調試工具,內存和性能分析工具和用於Eclipse IDE的插件

 

Android架構(Android Architecture)

         下圖展示了Android操作系統的主要組件。每個組件在下面有更詳細的描述。

        
 

 

 

應用程序(Applications)

         Android將配備一系列核心應用程序,包括電子郵件客戶端,短信程序,日歷,地圖,浏覽器,通訊錄等。所有的應用程序都是使用Java編程語言。

 

應用框架(Application Framework)

         通過提供一個開放的開發平台,Android提供給開發者建立極其豐富和創新應用的能力。開發者自由地享有硬件設備的優勢,訪問本地信息,運行後台服務,設置警示,向狀態欄添加通知等。

         開發人員可以使用和核心應用程序使用的完全相同的API框架。應用程序架構的設計的目的是為了簡化組件的重用;任何應用程序都可以發布它的功能,其他的應用程序可能會利用到這些功能(需遵守框架提供的安全約束)。依靠同樣的機制,組件可以被用戶所取代。

         底層的所有的應用程序是一組服務和子系統,包括:

* 一組豐富並且可擴展的view,這組view可以被用來構建一個應用程序,包括列表,表格,文本框,按鈕,甚至可嵌入的Web浏覽器。

* 一組Content Providers,可以使應用程序訪問其它應用程序的數據(比如通訊錄),或者共享自己的數據。

* 一個資源管理器(Resource Manager),提供對非代碼資源的訪問,比如本地化的字符串,圖形和布局文件。

* 一個通知管理(Notification Manager),可以使所有的應用程序在狀態欄顯示定制的提醒。

* 一個Activity管理(Activity Manager),它管理的應用程序的生命周期,並且提供了一個通用的後台切換棧。

如需了解一個應用程序的詳細信息和具體示例,請參考Notepad代碼示例(Notepad Tutorial)。

 

(Libraries)

         Android包括了一套C/C++庫,這套庫被Android系統的各個組件使用。通過Android的應用框架,這些功能被開放給開發者。其中的一些核心庫如下:

* 系統C庫(System C library) - 一個繼承自BSD的標准C系統實現(libc),被調整成面向基於linux的嵌入式設備。

* 媒體庫(Media Libraries) - 基於PacketVideo的的OpenCore;該庫支持回放和錄制許多流行的音頻和視頻格式,以及靜態圖像文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG和PNG格式。

* Surface管理器(Surface Manager) - 管理顯示子系統,並能無縫地組合多個應用的2D和3D圖像層。

* LibWebCore - 一個流行的Web浏覽器引擎,它對Android浏覽器和嵌入式Web視圖具有良好的支持。

* SGL - 底層的2D圖形引擎。

* FreeType - 位圖和矢量字體渲染。

* SQLite - 所有的應用程序使用並且強大而輕量級的關系型數據庫引擎。

 

運行時(Android Runtime)

         Android包括一個核心庫的集合,她們提供了Java編程語言的核心庫中的絕大多數功能。

         每一個Android應用都在她自己的進程中運行,該進程也屬於某個Dalvik虛擬機的實例。Dalvik被設計成能讓設備高效地運行多個虛擬機。 Dalvik虛擬機執行的是.dex結尾的Dalvik可執行文件格式,該格式被優化為最小內存使用。虛擬機是基於寄存器的,並且運行那些Java編程語 言所編譯的類,這些類被內置的dx工具轉換為.dex格式。

         Dalvik虛擬機依賴Linux內核來提供底層的功能,比如線程和低級內存管理。

 

Linux內核(Linux Kernel)

         Android依賴Linux 2.6來提供核心系統服務,比如安全、存儲管理、進程管理、網絡棧和驅動模型。該內核同時扮演著介於硬件和軟件棧的其余部分之間的一個抽象層。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved