菜鳥學Android之簡介

        最近要做物聯網實訓,選的題目是《基於安卓的企業辦公環境測控系統軟件設計》(名字還挺長~),所以安卓菜鳥開始從頭學習安卓。學習第一步,肯定是要對Android整個體系有個整體的認知,此爲該文的由來。班門弄斧,還請各位高手多多指點。

        Android是一種基於Linux內核的自由及開源的操作系統,主要用於移動設備上,如手機、平板,由Google開發,我們習慣稱之爲“安卓”。在這着重講下Android的體系結構。先上圖:

        此圖是Google官方提供的技術結構圖,個人認爲,這個圖是學習Android開發必須瞭解的一個圖。

        首先,最下方Linux Kernel,Android是運行在Linux Kernel上的,並非GNU/Linux。Linux Kernel是針對Android進行了優化,大部分爲各種驅動,提供了最基本的功能。這部分往往不需要應用程序者關心,所以此處略過。

        往上,Libraries,系統運行庫,主要被各種組件所用,如libc標準C系統函數庫,專門爲基於Embedded linux的設備定製;Media Framework媒體庫,支持多種音頻、視頻的播放回放及錄製;SQLite,Android自帶的一個內部關係數據庫;Surface Manager界面管理器,對顯示子系統的管理,併爲多個應用程序提供2D和2D圖層的無縫融合。

        Libraries右方Android Runtime,是Android中一個很重要的組成部分,引導系統會調用Android Runtime中的Start函數,在這個函數中完成啓動Android的一切工作。其中的Core Librarie核心庫,提供了Java編程語言的核心庫中大多數功能,類似於JAVA中的JDK;Dalvik Virtual Machine,爲Google自己開發的虛擬機,每個應用程序都有自己的Dalvik虛擬機實例,這樣是爲了一個設備可以有多個虛擬機。、

        往上Application Framework應用程序框架,這是開發人員需要重點了解的一部分,含有大量的API,大大降低了我們的開發成本。該架構簡化了組件重用,如View System,View視圖包括Lists列表,Grids網格,Buttons按鈕等,用來構建應用程序;Content Providers使得應用程序可以訪問另一個應用程序的數據;Activity Manager用來管理應用程序生命週期並提供常用的導航回退功能。

        最上爲Application應用程序,我們的代碼就是調用Application Framework呈現在該層。Android會同一系列核心應用程序包一起發佈,該應用程序包括客戶端、短消息、日曆、地圖、瀏覽器等,所有應用程序都是使用JAVA語言編寫。

       再者,須瞭解Android開發四大組件:Activity:用於表現功能,所有程序的根本,可以簡單把Activity看做手機屏幕的一屏,在Activity中可以添加按鈕等組件,與網頁概念類似;Service:後臺運行服務,不提供前臺呈現,簡單比方說,聽歌期間打開瀏覽器,此時歌曲播放後臺運行,此由音樂播放的Service控制;Broadcast Receiver:用於接收廣播,Broadcast是一種廣泛應用在應用程序之間傳輸信息的機制,而Broadcast Receiver是對發送出的Broadcast進行過濾並響應的一類組件,使得應用程序可以對相應的外部事件進行響應;Content Provider支持多個應用程序中存儲和讀取數據,可以看做數據共享的一種方法。

       概況來講,作爲一個安卓菜鳥,我需要重點學習的爲上兩層,在已有的JAVA學習基礎上,希望接下來的學習可以順利許多~加油!


參考資料:

       http://baike.baidu.com/link?url=IbALhZX9JasPv60Nz698SYqqCvTGcP73nuZQA2z5hYEVOMU2FJkMp-Wglb-9pV8IwdM3pR-IM86x1r55AWFx_UVAphQwf5-A_YWNzOYFETK

        http://blog.csdn.net/hungcen/article/details/7484926

        http://www.marschen.com/portal.php


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章