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

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