您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
Android軟硬件巧妙整合的開發(fā)技巧
來源: 日期:2013-12-4 20:48:36 人氣:標簽:
android一詞的本義指“機器人”,同時也是google于2007年11月5日宣布的基于linux平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。
android是基于linux內(nèi)核的操作系統(tǒng),是google公司在2007年11月5日公布的手機操作系統(tǒng)。早期由原名為“android”的公司開發(fā),谷歌在2005年收購“android.inc”后,繼續(xù)進行對android系統(tǒng)開發(fā)運營,它采用了軟件堆層(software stack,又名軟件疊層)的架構,主要分為三部分。底層linux內(nèi)核只提供基本功能,其他的應用軟件則由各公司自行開發(fā),部分程序以java編寫。2011年初數(shù)據(jù)顯示,僅正式上市兩年的操作系統(tǒng)android已經(jīng)超越稱霸十年的塞班系統(tǒng),使之躍居全球 受歡迎的智能手機平臺。現(xiàn)在,android系統(tǒng)不但應用于智能手機,也在平板電腦市場急速擴張。采用android系統(tǒng)主要廠商包括臺灣的htc,(第一臺谷歌的手機g1由htc生產(chǎn)代工)美國摩托羅拉,se等,另外還有中國大陸廠商如:華為、中興、聯(lián)想等。
android以java為編程語言,從接口到功能,都有層出不窮的變化,其中activity等同于j2me的midlet,一個 activity 類(class)負責創(chuàng)建視窗(window),一個活動中的activity就是在 foreground(前景)模式,背景運行的程序叫做service。兩者之間通過由serviceconnection和aidl連結,達到復數(shù)程序同時運行的效果。如果運行中的 activity 全部畫面被其他 activity 取代時,該 activity 便被停止(stopped),甚至被系統(tǒng)清除(kill)。
view等同于j2me的displayable,程序人員可以通過 view 類與“xml layout”檔將ui放置在視窗上,android 1.5的版本可以利用 view 打造出所謂的 widgets,其實widget只是view的一種,所以可以使用xml來設計layout,htc的android hero手機即含有大量的widget。至于viewgroup 是各種layout 的基礎抽象類(abstract class),viewgroup之內(nèi)還可以有viewgroup。view的構造函數(shù)不需要再activity中調(diào)用,但是displayable的是必須的,在activity 中,要通過findviewbyid()來從xml 中取得view,android的view類的顯示很大程度上是從xml中讀取的。view 與事件(event)息息相關,兩者之間通過listener 結合在一起,每一個view都可以注冊一個event listener,例如:當view要處理用戶觸碰(touch)的事件時,就要向android框架注冊view.onclicklistener。另外還有image等同于j2me的bitmap。
隨著科技的快速演進,現(xiàn)代人對移動通信、無線上網(wǎng)與多媒體娛樂的需求更甚以往,所謂的智能手機(smart phone)便成了炙手可熱的個人消費電子產(chǎn)品之一,從apple不斷推出iphone企圖顛覆消費者對手機的想象、rim推出主打商務功能的黑莓機、google的android系統(tǒng)讓眾家手機廠商爭食大餅,到微軟屢敗屢戰(zhàn)的從winmo一路開發(fā)到wp7,智能手機的這塊戰(zhàn)場可說是打的如火如荼。然而在這些眾家競爭者中,android可說是目前行情看俏的一套操作系統(tǒng),以國際市調(diào)研究機構gartner 新出爐2010年第三季的調(diào)查為例,采用android操作系統(tǒng)的智能手機在過去一年以來成長幅度 高,光是市占率便是前一年同期的七倍之多,銷售量更是達到14倍的成長,同時也一舉從市占率排名的第六名竄升到第二名。
*gartner 2010 q3 worldwide smartphone sales

android在過去一直扮演后起之秀的角色,切入智能手機的速度似乎慢了蘋果的ios一步,但與apple相同的是,它也成功的將其應用從手機移植到了平板電腦(tablet pc)上。android開放源代碼(open source)的特性,能輕易地提高廠商對自家產(chǎn)品的接受度,更不用提背后google的強力撐腰能帶來多大的經(jīng)濟效益。目前可見包括手機廠商htc、摩托羅拉(motorola)、三星(samsung),以及電腦大廠惠普(hp)與戴爾(dell)等皆投向android的懷抱,android被廣泛應用可說是勢在必行。
盡管android系統(tǒng)的普及看似指日可待,但在實際的產(chǎn)品應用上,也有其可能產(chǎn)生的問題風險。android作為一個開放式的操作系統(tǒng),是google提供廠商的操作系統(tǒng)參考架構(reference design),廠商能有充足的發(fā)揮空間,以android為基礎向上開發(fā)設計自家產(chǎn)品,但也因為這樣的開放性與自由性,讓廠商在軟硬件結合的這個環(huán)節(jié)必須下更大的功夫,像是如何挑選合適的硬件包括基頻處理器、通信芯片、觸控感應芯片、天線與存儲器模組等,以及如何調(diào)整出 適當?shù)能浖O定等,更重要的是如何將軟硬件整合,開發(fā)出差異化的產(chǎn)品。這中間所有的細節(jié)都會對產(chǎn)品 終樣貌產(chǎn)生莫大的影響,像是其功能的完整度、使用接口的設計、效能表現(xiàn)(例如觸控滑動畫面、開啟程序所需時間)、品質(zhì)可靠度、甚至是后續(xù)的固件升級動作等等。
一、解構android基本技術架構
首先我們先來看到android的基本技術架構,android是以linux為核心,并采用軟件堆迭(software stack)的架構延伸發(fā)展的一套軟件平臺與操作系統(tǒng)。根據(jù)下圖可以看出,其基本架構分為五層:
*android structure by google

·linux核心(linux kernel):以linux開發(fā)提供 底層的核心系統(tǒng)服務,包括安全性(security)、存儲器管理(memory management)、進程管理(process management)、網(wǎng)路堆迭(network stack)與驅(qū)動程序模型(driver model)。
·android執(zhí)行環(huán)境(android runtime):透過core libraries(核心函式庫)以及暫存器型態(tài)的dalvik virtual machine(dalvik虛擬機器)來執(zhí)行程序。
·系統(tǒng)函式庫(library):使用c/c++函式庫的系統(tǒng)組件以供呼叫使用,開發(fā)者可透過上層的應用程序框架來運用這些功能,這也是主要android設備的效能關鍵。
·應用程序框架(application framework):被設計來簡化組件的再運用,開發(fā)者能完整存取使用與核心應用程序(core application)相同的api,應用程序可以發(fā)布功能并為其它應用程序所使用(需受限于其安全性限制),開發(fā)者也可運用同樣的機制來新增與置換組件。
- 1
- 2
- 3
- 下一頁
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 簡單的單片機的流水燈程序
- 下一篇: 電容式觸摸傳感器原理