您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
Android軟硬件巧妙整合的開發(fā)技巧
來源: 日期:2013-12-4 20:48:36 人氣:標(biāo)簽:
android一詞的本義指“機(jī)器人”,同時也是google于2007年11月5日宣布的基于linux平臺的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。
android是基于linux內(nèi)核的操作系統(tǒng),是google公司在2007年11月5日公布的手機(jī)操作系統(tǒng)。早期由原名為“android”的公司開發(fā),谷歌在2005年收購“android.inc”后,繼續(xù)進(jìn)行對android系統(tǒng)開發(fā)運(yùn)營,它采用了軟件堆層(software stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層linux內(nèi)核只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā),部分程序以java編寫。2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)android已經(jīng)超越稱霸十年的塞班系統(tǒng),使之躍居全球 受歡迎的智能手機(jī)平臺,F(xiàn)在,android系統(tǒng)不但應(yīng)用于智能手機(jī),也在平板電腦市場急速擴(kuò)張。采用android系統(tǒng)主要廠商包括臺灣的htc,(第一臺谷歌的手機(jī)g1由htc生產(chǎn)代工)美國摩托羅拉,se等,另外還有中國大陸廠商如:華為、中興、聯(lián)想等。
android以java為編程語言,從接口到功能,都有層出不窮的變化,其中activity等同于j2me的midlet,一個 activity 類(class)負(fù)責(zé)創(chuàng)建視窗(window),一個活動中的activity就是在 foreground(前景)模式,背景運(yùn)行的程序叫做service。兩者之間通過由serviceconnection和aidl連結(jié),達(dá)到復(fù)數(shù)程序同時運(yùn)行的效果。如果運(yùn)行中的 activity 全部畫面被其他 activity 取代時,該 activity 便被停止(stopped),甚至被系統(tǒng)清除(kill)。
view等同于j2me的displayable,程序人員可以通過 view 類與“xml layout”檔將ui放置在視窗上,android 1.5的版本可以利用 view 打造出所謂的 widgets,其實widget只是view的一種,所以可以使用xml來設(shè)計layout,htc的android hero手機(jī)即含有大量的widget。至于viewgroup 是各種layout 的基礎(chǔ)抽象類(abstract class),viewgroup之內(nèi)還可以有viewgroup。view的構(gòu)造函數(shù)不需要再activity中調(diào)用,但是displayable的是必須的,在activity 中,要通過findviewbyid()來從xml 中取得view,android的view類的顯示很大程度上是從xml中讀取的。view 與事件(event)息息相關(guān),兩者之間通過listener 結(jié)合在一起,每一個view都可以注冊一個event listener,例如:當(dāng)view要處理用戶觸碰(touch)的事件時,就要向android框架注冊view.onclicklistener。另外還有image等同于j2me的bitmap。
隨著科技的快速演進(jìn),現(xiàn)代人對移動通信、無線上網(wǎng)與多媒體娛樂的需求更甚以往,所謂的智能手機(jī)(smart phone)便成了炙手可熱的個人消費(fèi)電子產(chǎn)品之一,從apple不斷推出iphone企圖顛覆消費(fèi)者對手機(jī)的想象、rim推出主打商務(wù)功能的黑莓機(jī)、google的android系統(tǒng)讓眾家手機(jī)廠商爭食大餅,到微軟屢敗屢戰(zhàn)的從winmo一路開發(fā)到wp7,智能手機(jī)的這塊戰(zhàn)場可說是打的如火如荼。然而在這些眾家競爭者中,android可說是目前行情看俏的一套操作系統(tǒng),以國際市調(diào)研究機(jī)構(gòu)gartner 新出爐2010年第三季的調(diào)查為例,采用android操作系統(tǒng)的智能手機(jī)在過去一年以來成長幅度 高,光是市占率便是前一年同期的七倍之多,銷售量更是達(dá)到14倍的成長,同時也一舉從市占率排名的第六名竄升到第二名。
*gartner 2010 q3 worldwide smartphone sales
android在過去一直扮演后起之秀的角色,切入智能手機(jī)的速度似乎慢了蘋果的ios一步,但與apple相同的是,它也成功的將其應(yīng)用從手機(jī)移植到了平板電腦(tablet pc)上。android開放源代碼(open source)的特性,能輕易地提高廠商對自家產(chǎn)品的接受度,更不用提背后google的強(qiáng)力撐腰能帶來多大的經(jīng)濟(jì)效益。目前可見包括手機(jī)廠商htc、摩托羅拉(motorola)、三星(samsung),以及電腦大廠惠普(hp)與戴爾(dell)等皆投向android的懷抱,android被廣泛應(yīng)用可說是勢在必行。
盡管android系統(tǒng)的普及看似指日可待,但在實際的產(chǎn)品應(yīng)用上,也有其可能產(chǎn)生的問題風(fēng)險。android作為一個開放式的操作系統(tǒng),是google提供廠商的操作系統(tǒng)參考架構(gòu)(reference design),廠商能有充足的發(fā)揮空間,以android為基礎(chǔ)向上開發(fā)設(shè)計自家產(chǎn)品,但也因為這樣的開放性與自由性,讓廠商在軟硬件結(jié)合的這個環(huán)節(jié)必須下更大的功夫,像是如何挑選合適的硬件包括基頻處理器、通信芯片、觸控感應(yīng)芯片、天線與存儲器模組等,以及如何調(diào)整出 適當(dāng)?shù)能浖O(shè)定等,更重要的是如何將軟硬件整合,開發(fā)出差異化的產(chǎn)品。這中間所有的細(xì)節(jié)都會對產(chǎn)品 終樣貌產(chǎn)生莫大的影響,像是其功能的完整度、使用接口的設(shè)計、效能表現(xiàn)(例如觸控滑動畫面、開啟程序所需時間)、品質(zhì)可靠度、甚至是后續(xù)的固件升級動作等等。
一、解構(gòu)android基本技術(shù)架構(gòu)
首先我們先來看到android的基本技術(shù)架構(gòu),android是以linux為核心,并采用軟件堆迭(software stack)的架構(gòu)延伸發(fā)展的一套軟件平臺與操作系統(tǒng)。根據(jù)下圖可以看出,其基本架構(gòu)分為五層:
*android structure by google
·linux核心(linux kernel):以linux開發(fā)提供 底層的核心系統(tǒng)服務(wù),包括安全性(security)、存儲器管理(memory management)、進(jìn)程管理(process management)、網(wǎng)路堆迭(network stack)與驅(qū)動程序模型(driver model)。
·android執(zhí)行環(huán)境(android runtime):透過core libraries(核心函式庫)以及暫存器型態(tài)的dalvik virtual machine(dalvik虛擬機(jī)器)來執(zhí)行程序。
·系統(tǒng)函式庫(library):使用c/c++函式庫的系統(tǒng)組件以供呼叫使用,開發(fā)者可透過上層的應(yīng)用程序框架來運(yùn)用這些功能,這也是主要android設(shè)備的效能關(guān)鍵。
·應(yīng)用程序框架(application framework):被設(shè)計來簡化組件的再運(yùn)用,開發(fā)者能完整存取使用與核心應(yīng)用程序(core application)相同的api,應(yīng)用程序可以發(fā)布功能并為其它應(yīng)用程序所使用(需受限于其安全性限制),開發(fā)者也可運(yùn)用同樣的機(jī)制來新增與置換組件。
- 1
- 2
- 3
- 下一頁
【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: 簡單的單片機(jī)的流水燈程序
- 下一篇: 電容式觸摸傳感器原理