Android初探(轉自《第一行程式碼》)
為了讓你能夠更好地理解Android系統是怎麼工作的,我們先來看一下它的系統架構。Android大致可以分為四層架構,五塊區域。
1 . Linux核心層 Android系統是基於Linux 2.6核心的,這一層為Android裝置的各種硬體提供了底層的驅動,如顯示驅動、音訊驅動、照相機驅動、藍芽驅動、Wi-Fi驅動、電源管理等。
2 . 系統執行庫層 這一層通過一些C/C++庫來為Android系統提供了主要的特性支援。如SQLite庫提供了資料庫的支援,OpenGL|ES庫提供了3D繪圖的支援,Webkit庫提供了瀏覽器核心的支援等。
同樣在這一層還有Android執行時庫,它主要提供了一些核心庫,能夠允許開發者使用Java語言來編寫Android應用。另外Android執行時庫中還包含了Dalvik虛擬機器,它使得每一個Android應用都能執行在獨立的程式當中,並且擁有一個自己的Dalvik虛擬機器例項。相較於Java虛擬機器,Dalvik是專門為移動裝置定製的,它針對手機記憶體、CPU效能有限等情況做了優化處理。
3 . 應用框架層 這一層主要提供了構建應用程式時可能用到的各種API,Android自帶的一些核心應用就是使用這些API完成的,開發者也可以通過使用這些API來構建自己的應用程式。
4 . 應用層 所有安裝在手機上的應用程式都是屬於這一層的,比如系統自帶的聯絡人、簡訊等程式,或者是你從Google Play上下載的小遊戲,當然還包括你自己開發的程式。
四大元件 Android系統四大元件分別是活動(Activity)、服務(Service)、廣播接收器(Broadcast Receiver)和內容提供器(ContentProvider)。
其中活動是所有 Android應用程式的門面, 凡是在應用中你看得到的東西,都是放在活動中的。而服務就比較低調了,你無法看到 它,但它會一直在後臺默默地執行,即使使用者退出了應用,服務仍然是可以繼續執行的。 廣播接收器可以允許你的應用接收來自各處的廣播訊息,比如電話、簡訊等,當然你的 應用同樣也可以向外發出廣播訊息。內容提供器則為應用程式之間共享資料提供了可 能,比如你想要讀取系統電話簿中的聯絡人,就需要通過內容提供器來實現。
五塊區域
豐富的系統控制元件 Android系統為開發者提供了豐富的系統控制元件,使得我們可以很輕鬆地編寫出漂亮 的介面。當然如果你品味比較高,不滿足於系統自帶的控制元件效果,也完全可以定製屬於 自己的控制元件。
SQLite資料庫 Android系統還自帶了這種輕量級、運算速度極快的嵌入式關係型資料庫。它不僅 支援標準的 SQL語法,還可以通過 Android封裝好的 API進行操作,讓儲存和讀取資料 變得非常方便。
地理位置定位 移動裝置和 PC相比起來,地理位置定位功能應該可以算是很大的一個亮點。現在 的 Android手機都內建有 GPS,走到哪兒都可以定位到自己的位置,發揮你的想象就可 以做出創意十足的應用,如果再結合上功能強大的地圖功能,LBS這一領域潛力無限。
強大的多媒體 Android系統還提供了豐富的多媒體服務,如音樂、視訊、錄音、拍照、鬧鈴等等, 這一切你都可以在程式中通過程式碼進行控制,讓你的應用變得更加豐富多彩。
感測器 Android手機中都會內建多種感測器,如加速度感測器、方向感測器等,這也算是 移動裝置的一大特點。通過靈活地使用這些感測器,你可以做出很多在 PC上根本無法 實現的應用。 既然有 Android這樣出色的系統給我們提供了這麼豐富的工具,你還用擔心做不出優秀 的應用嗎?好了,純理論的東西也就介紹到這裡,我知道你已經迫不及待想要開始真正的開 發之旅了,那我們就開始啟程吧!
相關文章
- 《第一行程式碼Android》摘要行程Android
- 《第一行程式碼——Android》封面誕生記行程Android
- 《第一行程式碼——Android》編輯的話行程Android
- Java/Android 編碼規範,從第一行程式碼開始JavaAndroid行程
- GitHub 第一坑:換行符自動轉換Github
- Android JNI 程式碼自動生成Android
- 執行緒通訊初探 (轉)執行緒
- 第1章:開始啟程 - 你的第一行android程式碼Android
- 奧巴馬的第一行程式碼行程
- iOS 初探程式碼混淆(OC)iOS
- 第一行程式碼——書的理解行程
- 初探WINDOWS下IME程式設計 (轉)Windows程式設計
- 這就是奧巴馬的第一行程式碼行程
- 線路分流自動跳轉程式碼
- Android 動畫初探Android動畫
- Android Bitmap 初探Android
- Lottie Android 初探Android
- Babylon-AST初探-程式碼生成(Create)AST
- Android自動生成程式碼的2種方式Android
- 《第一行程式碼》作者郭霖:從Java程式設計師到Android開發者的第一步(圖靈訪談)行程Java程式設計師Android圖靈
- mongoDB初探第一篇MongoDB
- 《第一行程式碼》讀書筆記三行程筆記
- Android Eclipse程式碼自動補全設定AndroidEclipse
- Android註解處理初探:使用註解處理器消除樣板程式碼Android
- Android Transform + ASM 初探AndroidORMASM
- 初探Matrix Android ApkCheckerAndroidAPK
- Android Studio 初探Android
- SAP HUM事務程式碼 HUMAT 之初探
- 禁止 Windows 98 自動執行應用程式(轉)Windows
- [android]android自動化測試十二之程式碼控制截圖Android
- 贊《第一行程式碼-Android》(論書籍設計對學習的效率推動)行程Android
- Python安裝與第一行程式碼和儲存程式Python行程
- 初探小程式
- Java初探Oracle(轉)JavaOracle
- 使用android SharedPreference判斷程式是否第一次執行Android
- Android Studio 藍芽 示例程式碼(轉)Android藍芽
- Android Flux架構初探AndroidUX架構
- 青出於紅——《第一行程式碼(第2版)》行程