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