黃吉華
近年來,Android系統在智能手機領域得到了廣泛的應用。而Android系統之所以能夠獲得大多程序開發者的歡迎,與其具有開放、平等和無界限的系統架構有著直接的關系。基于這種認識,本文對Android系統架構與應用問題展開了研究,從而為關注這一話題的人們提供參考。
【關鍵詞】Android 系統架構 應用
2007年,Google聯合多家移動技術和無線應用領域企業宣布了Android這一開源手機操作系統名稱。而由于具有良好的開放性和易用性,Android系統在短短幾年的時間里獲得了廣闊的應用前景,成為了很多企業的應用平臺。因此,有必要對Android系統架構與應用問題展開研究,從而更好的進行該系統的應用。
1 Android系統架構研究
從系統架構上來講,Android系統是自底向上的結構,主要由內核層、函數庫與運行時庫、應用軟件架構和應用程序構成。
1.1 系統內核層分析
系統內核層其實是系統軟件和硬件之間的抽象層,其能夠進行系統硬件細節的隱藏,并且能夠為系統上層結構提供統一服務。同時,其能夠較好的進行本層與下層差異的屏蔽,所以即便本身發生變化也不會對上層的運行產生影響。需要注意的是,內核層并非類GUN/Linux,其不含有虛擬內存文件,并且使用了YAFFS2文件系統。與Linux系統相比,Android的內核層有不同的系統初始化接口、系統庫和程序接口。而基于Linux2.6,Android內核層可以提供核心系統服務,并擁有網絡堆棧、硬件驅動程序、系統安全機制和內存管理等多種功能。
1.2 系統函數庫與運行時庫分析
系統函數庫中含有C/C++庫的集合,本身由開放源代碼的函數庫組成。利用系統的應用程序框架,函數庫的功能可以向開發者展示,比如OpenSSL、C函數庫Libc等。在系統運行的過程中,網頁瀏覽器的運用由網頁函數庫負責,OpenSSL則負責媒體庫的運行。利用這些函數庫,可以為音頻和視頻格式的播放和錄制提供支持,并且進行靜態圖像文件的顯示。在界面管理方面,則將含有二維和三維圖形層,能夠進行訪問顯示子系統的管理和多個應用程序的無縫組合。而系統運行時庫與函數庫并行運行,可以進行Android特有的Java內涵函數庫的提供,并且完成運行碼的轉換。利用Java語言,Android的Dalvik虛擬機也能夠進行Android應用程序的編寫,并且同時進行多個應用程序的運行。需要注意的是,Dalvik虛擬機的運行需要依賴Linux內核功能,可以進行.dex文件格式的執行。而該格式是壓縮格式,可以在處理器速度和內存有限的系統中使用。
1.3 系統應用軟件架構分析
系統應用軟件架構是系統重點應用程序的總集合,利用該架構程序開發者能夠在設計架構時方便的進行應用程序的使用。而在這些常見的應用程序中,包含有消息方塊、內嵌式瀏覽器和按鈕等現實功能,并且包含分享信息和訪問信息等消息提供功能,同時也包含資源管理功能和提示消息功能等多個其它功能。從根本上來講,應用軟件架構就是一組系統和服務,能夠進行應用程序的構建,并且擁有豐富的視圖結合和內嵌的網絡瀏覽器,可以使應用程序進行其他應用程序的訪問。此外,應用軟件架構也能夠在系統狀態欄中進行所有應用程序的顯示,并且完成應用程序的生命周期的管理。
1.4 系統應用程序分析
在Android系統中,上層應用程序需要利用Java語言開發。例如,即時通信工具、通訊本、Google Maps等應用程序,就是利用Java語言開發的程序。
2 Android的應用研究
2.1 Android應用程序的基本組成
在Android應用中,應用程序往往是由多個組件構成。在Android系統中,含有Activity、Service、ContentProvider、BroadcastReceiver和Intent組件。其中,Activity組件是應用程序表示層,可以為應用程序的每個屏幕顯示提供支持。利用視圖類的Activity組件,用戶則可以實現GUI,并且通過GUI和應用程序交互。而Service組件是后臺運行程序,可以為應用程序長期在后臺運行提供支持。BroadcastReceiver是用戶進行廣播通知接收的組件,比如電量不足、用戶系統設置更改和短信息等通知,都需要與不同的BroadcastReceiver組件相對應。ContentProvider則為系統內容提供器,能夠將系統應用程序的特定數據提供給其他程序,以便用戶進行數據的讀寫和存儲。此外,Intent組件是運行綁定機制,可以向系統表達請求或意愿,系統可以根據其內容進行適當組件請求。
2.2 Android應用的環境構建
在應用Android的過程中,需要進行系統應用程序開發環境的構建。以Windows系統為例,Android應用程序開發環境構建可以使用Eclipse+ADT方法。首先,可以從網站進行JDK5的下載和安裝,然后通過運行該程序進行系統環境變量的添加。其次,需要從網站進行Android SDK的下載,然后將其在Windows系統目錄下解壓,并且在系統環境中加入該文件夾下的tools文件夾路徑。最后,則可以進行Eclipse安裝包的下載,并且將其解壓使用。就目前來看,Android平臺可以為Windows、Linux和Mac OS系統的開發提供支持。
3 結論
總而言之,Android系統擁有著較為完整的系統架構,可以為開發人員進行應用程序的開發提供較好的開發環境。所以,隨著相關技術的發展,越來越多的程序開發人員開始進行Android應用程序的開發。
參考文獻
[1]宋小倩,周東升.基于Android平臺的應用開發研究[J].軟件導刊,2011,02:104-106.
[2]曾健平,邵艷潔.Android系統架構及應用程序開發研究[J].微計算機信息,2011,09:1-3.
[3]白文江.基于Android平臺的移動應用開發研究[J].太原大學學報,2011,03:117-120.
[4]王柯,馬宏斌,王一圣.基于Android平臺的軟件開發若干關鍵技術研究[J].測繪與空間地理信息,2014,09:14-16+24.
作者單位
貴州大學 貴州省貴陽市 550025