歡迎關注Android!
Android平臺是一組面向移動設備的軟件包,它包含了一個操作系統、中間件和關鍵應用程序。開發人員可以使用Android SDK(軟件開發工具包)為這個平臺創造應用程序。應用程序使用Java語言編寫并在Dalvik之內運行。Dalvik是一款量身定制的虛擬機,它專為嵌入式應用設計,運行在Linux內核上層。
如果你想了解如何為Android平臺開發應用程序,你就來對地方了!為了幫助大家了解Android平臺進而開發移動應用程序, 這里 提供了各種豐富的文檔。
Android SDK 的預覽版已經可以 下載 了。其中包括了附含源代碼的樣例工程、開發工具、仿真器,當然了,還有你構建工程所必需的類庫。
Android是什么?
機器人?
????????????????????????????????
Android是一組面向移動設備的軟件包,包含了一個操作系統,中間件和關鍵應用程序。 Android SDK 的預覽版提供了必需的開發工具和應用程序接口,基于這些,我們就可以使用Java編程語言在Android平臺上開發應用程序了。
?
特性
- 應用程序框架 支持組件的復用和更換
- Dalvik 虛擬機 專門為移動設備進行過優化
- 集成的瀏覽器 基于開源的 WebKit 引擎
- 優化的圖形機制 自定義的2D圖形庫,基于OpenGL ES 1.0規范的3D圖形實現(本項為硬件加速器可選)
- SQLite 輕量級的數據庫,支持結構化數據的存儲
- 媒體支持 面向常見的音頻、視頻以及靜態圖形檔案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM 技術 GSM:global system for mobile communications (依賴硬件支持)
- Bluetooth, EDGE, 3G, and WiFi (依賴硬件支持)
- Camera, GPS, compass, and accelerometer (依賴硬件支持)
- Rich development environment 豐富的開發環境,包含一套硬件仿真器,一些用于程序調試、內存和性能剖析的工具,以及支持Eclipse集成開發環境的插件( ADT )。
Android架構
下方圖表顯示了Android操作系統的主要組件。要知道關于各個部分更多的細節,下文還有描述,請繼續看。
?
Applications ( 應用)
Android將預裝一組核心應用程序,包括email客戶端、短信服務、日歷日程、地圖服務、瀏覽器、聯系人和其他應用程序。所有應用程序都是Java編程語言編寫的。
?
?
Application Frameworks (應用框架)
上文所提的核心應用程序就是依賴框架層次API開發的,程序員們當然也可以充分使用這些API。應用架構設計的初衷是:簡化組件復用機制;任何應用都能發布自己的功能,這些功能又可以被任何其他應用使用(當然要受來自框架的強制安全規范的約束)。和復用機制相同,框架允許組件的更換。
所有應用都是一組服務和系統,一般包含:
- 一套豐富且可擴展的 視圖 組件,含有lists, grids, text boxes, buttons, 甚至嵌入的網絡瀏覽器
- Content Providers (內容提供器) 使一個應用可以訪問另外一個應用的數據(如聯系人),或者使一個應用內部可以共享自身數據
- Resource Manager (資源管理器),提供對非編碼資源——例如本地化字符串、圖形和布局文件——的訪問通道
- Notification Manager (通告管理器),使應用在狀態欄顯示自定義的警報通知。
- Activity Manager (行動管理器)負責管理應用的生命周期,提供通用導航回退支持
要知道更多細節,了解應用內幕,請參考教程 《Android應用編寫》
?
?
?
Libraries (庫)
Android包含一套C/C++庫,Android系統的各式組件都在使用。這些功能通過Android應用框架暴露給開發人員。下面列舉一些核心庫:
?
- System C library - 衍生于BSD的標準C系統庫(libc)實現(注:BSD:Berkeley Software Distribution,伯克利軟件套件,是Unix的衍生系統,1970年代由伯克利加州大學開創),尤其支持嵌入式的基于Linux的設備。
- Media Libraries - 媒體庫基于PacketVideo's OpenCORE;媒體庫支持很多流行音頻和視頻格式、靜態圖形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG )的播放和錄制
- Surface Manager - 管理范圍:對子系統顯示功能的訪問,跨應用的無縫組合2D和2D圖形層
- LibWebCore - 是流行的瀏覽器引擎,可以支持Android瀏覽器和嵌入應用的WEB視圖組件
- SGL - 底層的2D圖形引擎
- 3D libraries - 基于OpenGL ES 1.0 API的實現; 該類庫使用硬件3D加速器(如果硬件支持的話)或者內置的、高度優化的3D軟件加速機制。
- FreeType - 支持位圖和矢量字體
- SQLite - 能干、輕量級的關系型數據庫引擎,面向所有應用
Android Runtime (Android運行時)
Android的核心類庫提供Java類庫所提供的絕大部分功能。
每個Android應用都運行在自己的進程上,享有Dalvik虛擬機為它分配的專有實例。為了支持多個虛擬機在同一個設備上高效運行,Dalvik被改寫過。
Dalvik虛擬機執行的是Dalvik格式的可執行文件(.dex)——該格式經過優化,以降低內存耗用到最低。Java編譯器將Java源文件轉為class文件,class文件又被內置的dx工具轉化為dex格式文件,這種文件在Dalvik虛擬機上注冊并運行。
在一些底層功能——比如線程和低內存管理方面,Dalvik虛擬機是依賴Linux內核的。
?
Linux Kernel (Linux內核)
Android依賴Linux 2.6版,提供核心系統服務:安全、內存管理、進程管理、網絡組、驅動模型。內核部分還相當于一個介于硬件層和系統中其他軟件組之間的一個抽象層次。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
