接着上一講繼續開始寫,今天介紹的是安卓的基本組成結構。
在大多數情況下,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