一、Android的系統體系結構
在入門了一個簡單的Android的Hello World以后,我們首先來看一下我們Android的整體系統架構圖:
這個就是我們Android的整體系統架構圖了,我們首先從整體上來看看Android的體系結構。
Linux Kernel:我們知道Android其實就是一個操作系統,其底層是基於Linux Kernel的,這一層主要完成的是操作系統所具有的功能,比如這一層有許多的驅動程序,正是通過這些驅動程序來驅動我們設備上的硬件設備的。
Android Runtime:Android的運行環境,我們學過java的都知道,java程序的運行需要java的核心包的支持,然后通過JVM虛擬機來運行我們的應用程序,這里Android Runtime里的Core Libraries就相當於java的JDK,是運行android應用程序所需要的核心庫,Dalvik Virtual Machine就相當於JVM,這時Google專為Android開發的運行android應用程序所需的虛擬機。
Liberaries:這里面都是Android的庫文件,例如我們訪問SQLite數據庫的庫文件等等。
Application Framework:應用程序的框架,這個是非常的重要的,相信Framework這個詞大家都應該非常的熟悉了,我們學習Android也主要學的就是這一層,我們通過這些各種各樣的框架來實現我們的Application。
Application:這個就是我們開發的Application了。
二、Android的四種常用組件
我們現在推崇的軟件開發就是基於組件來開發的,組件就類似於電腦的硬件一樣,我如果要組裝一台電腦,可以直接通過購買各個硬件然后將其組裝在一起,對於軟件來說,組件就類似於這個,我們開發一個軟件,可以直接將這些組件組合在一起就行了。
Android一共有四種常用的組件:
Activity、Service、ContentProvider、BroadcastReceiver
Activity:Activity就是我們應用程序的界面,主要用來跟我們的用戶進行交互的,比如一個文本框,按鈕這些就是顯示在Activity上的,並且可以接收數據,傳遞數據到后台,然后再顯示出來。
Service:Service我們是看不見的,對於絕大部分的數據的處理,業務的處理都是通過Service來完成的。
ContentProvider:ContentProvider類似於我們的檔案館,里面存放了我們的各種數據,例如通訊錄中的信息等,這個組件就是運行程序對其進行訪問,然后得到里面的數據。
BroadcastReceiver:BroadcastReceiver組件是廣播接收器,主要是用來監聽系統的各個行為的,例如當電量不足的時候會給我們發送一條廣播信息。
三、Activity的啟動流程
我們在大致了解了Android的體系結構后,我們就可以開始進行我們的代碼操作了,首先我們來看看Activity的一個啟動流程:
當運行我們的Android應用程序時,Android操作系統首先會去找我們的AndroidManifest.xml這個文件,這個文件是我們應用程序的主配置文件,因為我們一個應用可能有多個的Activity,那我們首先會展示哪個Activity呢?這個主配置文件就定義了當前這個應用默認所加載的那個Activity對象,找到這個Activity對象后,就會調用其onCreate()方法,這個方法主要就是用來加載我們的布局文件的,通過 setContentView()方法可以來加載我們指定的布局文件,最后根據布局文件中的各個控件顯示在我們的屏幕上。這個就是我們Activity的啟動流程。