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