1. 程式人生 > >小白學安卓(一):Android系統架構和應用開發特色

小白學安卓(一):Android系統架構和應用開發特色

一、Android架構

Android大致可以分為四層架構:

  • Linux核心層
  • 系統執行庫層
  • 應用框架層
  • 應用層
  1. Linux核心層
    Android系統是基於Linux核心的,這一層為Android裝置的各種硬體提供了底層的驅動,如顯示驅動、照相機驅動、藍芽驅動、Wi-Fi驅動、電源管理等

  2. 系統執行庫層
    這一層通過一些C/C++庫來為Android系統提供主要的特性支援。如SQLite庫提供了資料庫的支援,OenGL|ES庫提供了3D繪圖的支援,Webkit庫提供了瀏覽器核心的支援等。
    同樣在這一層還有Android執行時庫,它主要提供了一些核心庫,能夠允許開發者使用Java語言來編寫Android應用。另外,Android執行時庫中還包含了Dalvik虛擬機器(5.0系統之後改為ART執行環境),它使得每一個Android應用都能執行在獨立的程序當中,並且擁有一個自己的Dalvik虛擬機器例項。想較於Java虛擬機器,Dalvik是專門為移動裝置定製的,它針對手機記憶體、CPU效能有限等情況做了優化處理。

  3. 應用框架層
    這一層主要提供了構建應用程式時可能用到的各種API,Android自帶的一些核心應用是用這些API完成的,開發者也可以通過使用這些API來構建自己的應用程式

  4. 應用層
    所有安裝在手機上的應用程式都是屬於這一層的,比如系統自帶的聯絡人、簡訊等程式,或者是從Google Play上下載的小遊戲,當然還包括你自己開發的程式

二、Android應用開發特色

Android提供了以下內容,可用於我們開發出優秀的應用程式

  1. 四大元件
    Android系統四大元件分別是活動(activity)、服務(service)、廣播接收器(broadcast receiver)和內容提供其(content provider)。
  • activity是所有Android應用程式的門面,凡是應用中看得到的東西,全部放在activity中
  • service無法看到,但它會一致在後臺默默的執行,即使使用者退出了應用,service仍然是可以繼續執行的
  • broadcast receiver允許你的應用接收來自各處的廣播訊息,比如電話、簡訊等。當然,你的應用也可以向外發出廣播訊息。
  • content provider則為應用程式之間共享資料提供了可能,比如你想要讀取系統電話本中的聯絡人,就需要通過content provider來實現
  1. 豐富的系統控制元件
    Android系統為開發者體用了豐富的系統控制元件,使得我們可以很輕鬆的編寫出漂亮的介面。當然如果你品位比較高,不滿足於系統自帶的控制元件效果,也完全可以定製屬於自己的控制元件。

  2. SQLite資料庫
    Android系統還自帶了這種輕量級、運算速度極快的嵌入式關係型資料庫。它不僅支援標準的SQL語法,還可以通過Android封裝好的API進行操作,讓儲存和讀取資料變得非常方便

  3. 強大的多媒體
    Android系統還提供了豐富的多媒體服務,如音樂、視訊、錄音、拍照、鬧鈴等。這一切你都可以在程式中通過程式碼進行控制,讓你的應用變的更加豐富多彩

  4. 地理位置定位
    移動裝置和PC相比起來,地理位置定位功能應該可以算是一個很大的亮點。現在的Android手機都內建有GPS,走到哪兒都可以定位到自己的位置,發揮你的想象就可以做出創意十足的應用。