mono for android學習過程系列教程(2)
接著上一講繼續開始寫,今天介紹的是安卓的基本組成結構。
在大多數情況下,MONO FOR ANDROID的名稱空間和Android的名稱空間
是互相對映的。有時候需要大小寫,非字母數字字元的用法以及名稱進行修改,
以便支援CSharp(C#)語言的寫法。
一般的應用程式,類似winform,有一個入口點去啟動程式以及初始化相關
資源。而webform有一個預設的啟動項。
在安卓開發中,雖然也有預設的入口點,但是安卓並不是我們Dotnet開發所認為
類似winform和webform型別的應用程式。安卓應用程式是由許多個核心元件
關聯而成的。這樣的結構能夠使得安卓程式能夠在不同程式之間保持流動性,比如我們
安卓手機發簡訊的時候可以在通訊錄裡面選取號碼。這就是兩個應用程式的互動。
大概的瞭解下結構就行,主要記住以下幾點:
1、每一個安卓程式都必須執行在自己的程序中。
2、每個程序中安卓只會啟動一個執行緒。如果需要使用更多的額外執行緒需要另外申明,比如後臺下載圖片之類的。
3、每一個安卓程式都執行在自己的Dalvik(相當於沙盒)虛擬機器例項中。也就是說我不管如何搗騰安卓應用程式,不會影響其他應用程式的穩定性。
(但是實際上,在我們自己的安卓手機上如果一個安卓軟體崩潰,很有可能導致安卓手機宕機。但是在蘋果中,才真正做到了這一點)
4、對每個應用程式進行保護,預設情況下,每個程式的資料有自己的倉庫。系統會保護應用程式,僅使自己可以訪問自己的倉庫。
這些都是預設情況下的設定,如果有足夠許可權,還是可以修改程式設定的。
安卓程式一般是由四個安卓元件構建而成的。
活動,服務,內容提供器,廣播接收器。
這裡面的Activity就是一個活動。
今天我們就細說活動:
一個活動就是一個可以用來完成單個任務的使用者介面元件。當安卓軟體執行的時候,應用
程式所顯示的或者你所互動的每個螢幕都是有一個或多個行為所啟動的。從另一個層面講,
活動組成了應用程式的表示層。它負責處理向用戶顯示資訊的邏輯,顯示控制元件並收集相關資料,
指導使用者來完成所需要的其他活動。
一個應用程式可能由一個或者多個活動組成的。
在安卓程式中由兩種方式來啟動活動:在安卓的清單中標記好預設啟動的活動。
第二種是在當前活動中啟動新的一個活動。也就類似winform中一個窗體啟動一個新的窗體。
一個活動也是類似我們webform裡面一樣有生命週期的概念,從活動元件建立到被銷燬。
活動有三種狀態,分別是:活動,暫停,停止等三種狀態。舉個例子,QQ軟體聊天就是活動的狀態,
QQ後臺就是一種暫停狀態,他的狀態儲存在記憶體中,而停止狀態則是退出QQ軟體的程序。
在活動生命週期中,類似webform的Page頁面載入,需要載入很多事件。同樣,活動中也是存在
事件的。OnCreate(),OnStart(),OnRestart(),OnStop(),OnDestroy()等等,還有一些就不列舉了。
在真正寫程式碼中,常用的兩個事件是OnCreate()和OnPause()。
在每個活動中,都繼承基類Activity類。這個OnCreate()方法主要用來定義應用程式的初始化。這個方法中,可以通過
使用基類的SetContentView()方法來定義向用戶顯示的第一個檢視。
活動和檢視的關係:
在程式中,每個活動可以顯示一個單一的檢視,或者是檢視層次結構。不僅可以在OnCreate()方法中通過SetContentView()
設定檢視,還可以在觸發事件中啟動其他活動來改變檢視。
簡單的來說如圖:
啟動活動的OnCreate()方法中的SetContentView()來顯示Layout檔案下的Main檢視檔案。
今天的基礎知識就介紹到這裡,以後將逐一介紹服務,內容提供器,廣播接收器。安卓意圖,繫結元件:安卓清單的作用。
轉載請附帶聯絡人Q-高卿 QQ1466358067