谷歌Android應(yīng)用程序組件全解析
谷歌的Android經(jīng)常會常帶一些Android應(yīng)用程序,目前使用的最多的為:網(wǎng)頁瀏覽器,但除了網(wǎng)頁瀏覽器外還有:電子信件收發(fā)的用戶端程序、簡訊收發(fā)程序、日歷/行事歷、地圖、聯(lián)系簿/通訊錄等。
不過,應(yīng)用程序不是Android的重點(diǎn),即便有應(yīng)用程序也以基礎(chǔ)性、示范性用意為多,另外操作系統(tǒng)也不是重點(diǎn),重點(diǎn)集中在中介軟件層方面,即是應(yīng)用程序框架、函式庫、應(yīng)用程序執(zhí)行環(huán)境等。先說明應(yīng)用程序框架,Android本身已在框架中提供許多軟件組件,不過這并不表示所有的應(yīng)用程序一定要呼用(Call,呼叫。
呼用,中國內(nèi)地方面稱為:調(diào)用)Android所提供的組件,程序設(shè)計(jì)師在開發(fā)Android平臺所用的應(yīng)用程序時(shí),也可以順帶開發(fā)新的軟件組件,并將該軟件組件放入Android的應(yīng)用程序框架中。
如此,除了原撰寫的應(yīng)用程序可以呼用該軟件組件(或稱:應(yīng)用程序界面,API)外,也可以讓其它的應(yīng)用程序來呼用該組件。另外,新增、新撰寫的軟件組件并不一定要是新的功效,也可以用來取代或暫代Android應(yīng)用程序原有就具備的軟件組件。
雖然新組件可以取代或暫代舊組件,但不是所有的組件都可以取代,例如安全(Security)方面的功能,就強(qiáng)迫只能用Android平臺現(xiàn)有組件。不能被替換成軟件公司、程序設(shè)計(jì)師自己開發(fā)的。此外,軟件組件替換,不僅可由應(yīng)用程序來決定,也允許使用者自行決定。
若更進(jìn)一步了解,Android應(yīng)用程序框架中的軟件組件主要有10個(gè),如Activity Manager(活動(dòng)管理員)、Window Manager(視窗管理員)、Resource Manager(資源管理員)等,在此無法詳述每個(gè)組件的功效,因此以下挑數(shù)個(gè)重點(diǎn)組件來說明。
舉例來說,Content Providers(內(nèi)容管理員)負(fù)責(zé)應(yīng)用程序與應(yīng)用程序間的資料存取傳遞,例如某一個(gè)應(yīng)用程序可以去存取通訊錄應(yīng)用程序內(nèi)的聯(lián)系人資料?;蛘吆粲肦esource Manager可存取的非程序碼資源,例如:當(dāng)?shù)匦栽O(shè)定(該地貨幣、語言、時(shí)間格式)、圖象...等。
再者,應(yīng)用程序若呼用Notification Manager(通知管理員),則可以在狀態(tài)列(Status Bar)的地方設(shè)計(jì)出應(yīng)用程序自有的警示(Alert)訊息。至于Activity Manager則提供應(yīng)用程序的生命周期管理。
Android平臺的操作系統(tǒng)用的是Linux,其核心版本為2.6版,Android所用的Linux核心,其包含的功效包括:安全(Security)、存儲器管理(Memory Management)、行程管理(Process Management)、網(wǎng)絡(luò)堆疊(Network Stack,中國內(nèi)地方面稱為:網(wǎng)絡(luò)堆棧)、驅(qū)動(dòng)程序模型(Driver Model)等,另外也在前述的軟件堆疊與硬件間建立起一個(gè)抽象層(Abstraction Layer)。
最后,筆者整個(gè)檢視了Android平臺,此平臺的設(shè)計(jì)很合乎Google過往以來的風(fēng)格,Google講究功效單純但功效必須相當(dāng)強(qiáng)悍,Google的查找引擎即是如此,查找頁面永遠(yuǎn)就是一個(gè)文字輸入欄,但查找結(jié)果相當(dāng)精準(zhǔn)、豐富。同樣的,Android平臺與今日一般智能型手機(jī)的軟件平臺相比,其功效豐富性并不如一般智能型手機(jī),甚至只要32MB的存儲器用量就能夠執(zhí)行。
很明顯的,Google Android應(yīng)用程序的重點(diǎn)在于最低硬件使用量、最開放標(biāo)準(zhǔn)的軟件架構(gòu)及平臺、及讓手機(jī)內(nèi)各項(xiàng)基礎(chǔ)軟件的總花費(fèi)成本能降至最低,所追求的是最小但也最一致的共通點(diǎn)。
一旦手機(jī)有了最小的一致共通點(diǎn),Google的網(wǎng)絡(luò)服務(wù)及軟件就能大幅發(fā)揮,Google除了Internet服務(wù)外也力推各種輕量性軟件,由于輕量特性,所以其軟件可以快速移轉(zhuǎn)到Android手機(jī)上執(zhí)行,并與其Internet服務(wù)相呼應(yīng)。
當(dāng)然,Android不僅對Google有利,對應(yīng)用程序開發(fā)商、手機(jī)消費(fèi)者、手機(jī)服務(wù)營運(yùn)商...等,也同樣呈現(xiàn)利多,一旦Android成為極廣泛通行的手機(jī)軟件平臺,應(yīng)用程序業(yè)者就可以有新的軟件銷售舞臺,且依據(jù)Apache v2授權(quán)方式,即便應(yīng)用程序業(yè)者以Android平臺為基礎(chǔ)撰寫程序,其程序的原始程序碼也不用公開,保證其商業(yè)權(quán)益。
另Android更有助于降低手機(jī)軟件成本,現(xiàn)有智能型手機(jī)內(nèi)的各類軟件都要收費(fèi),如操作系統(tǒng)、文件閱讀器、媒體播放器...等,而Android也具備這些基本功能,重點(diǎn)是分毫不取,如此,將帶給持續(xù)收取手機(jī)隨附軟件授權(quán)費(fèi)的業(yè)者降價(jià)壓力。
不過,即便降價(jià)也很難因應(yīng)壓力,軟件業(yè)者相互間有門戶之見,而Android的另一項(xiàng)特點(diǎn)是軟件平臺的標(biāo)準(zhǔn)化,雖然各軟件業(yè)者多少也發(fā)展出自有的手機(jī)軟件平臺,但多半還是要付費(fèi),且標(biāo)準(zhǔn)號召性不如Android。
既然手機(jī)軟件成本降低,消費(fèi)者就可以買到更便宜的手機(jī),而手機(jī)通訊服務(wù)的營運(yùn)商(如:遠(yuǎn)傳電信、中華電信等)自然也能提供更低廉的綁約方案,所以Android對手機(jī)基礎(chǔ)軟件業(yè)者的傷害最大,但卻對絕大多數(shù)人有利。
【編輯推薦】