昨天在文章裡看到的一個分析方法,很簡單,給大家分享下!
呵呵,由於我也是剛開始學習Android,還沒有學到下面這些知識,這裡就直接了。
看完他這個分析之後,我對Android程式有了一個簡單的認識,若要深入的理解,我想我今後還要在此下很多的功夫。。。。要努力啦。。。。
好了,下面開始介紹他的分析方法:
他拿一個Hello,World做例子,通過分析Hello,World的目錄結構,讓我們對Android程式有一個整體而又全面的認識。
先看一下Lesson2_Helloword的顯示結果:
然後我們再看一下Helloword的程式目錄:
我們可以看到:
1. MainHelloWorld.java檔案
2. R.java檔案
3. android.jar檔案
4. RES、Layout、main.xml檔案
5. androidmainfest.xml檔案
接下來我們逐個加以講解:
1、Activity類 及MainHelloWorld檔案淺析
Activity是Android中的視圖部分,負責介面顯示。
package android.basic.lesson2.helloworld;import android.app.Activity;
import android.os.Bundle;public class MainHelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
可以看到MainHelloWorld是Activity的子類,子類要重寫onCreate方法。
setContentView(R.layout.main)方法是給Activity設定可以顯示的視圖(View),視圖由R類負責尋找。
2、R檔案淺析
我們看到Gen目錄下有個R.Java檔案,R檔案由ADT自動產生,程式員不需要也不要去修改它,R檔案負責調用應用程式中的非代碼資源。
從R檔案中可以看到每一個資源都會有一個整數和它相對應。
3、res/layout/main.xml檔案淺析 – 布局layout
我們看到有個res目錄,也就是resource目錄,這個目錄下存放資源檔,資源檔的統一管理,也是Android系統的一大特色。現在要注意看的是layout目錄下的main.xml。這個檔案的內容是有關使用者介面布局和設計的。在傳統型程式設計領域採用XML也許比較新穎,但是在網頁設計領域,這個就很平常了。
從以上代碼可以看到整個程式介面由一個線性布局控制項(LinearLayout)和2個文字框控制項(TextView)組成。res的其他目錄裡的其他檔案也都是相關的資源描述。
4、AndroidManifest.xml檔案淺析
在每個應用程式的根目錄都會有一個AndroidManifest.xml檔案,該檔案向Android作業系統描述了本程式所包括的組件,所實現的功能,能處理的資料,要請求的資源等等。
。
我們看到Manifest是根節點,節點屬性裡有versionCode和versionName來表示應用程式的版本;裡面可以包含0個或1個application元素,application可以包含多個activity組件等等,具體的內容我們在接下來的課程裡詳細講解。
5、Android.jar檔案淺析
作為一個Java項目,通常情況下都會引入要用到的工具類,也就是Jar包,在Android開發中,絕大部分開發用的工具包都被封裝到一個名叫Android.jar的檔案裡了。
如果我們在Eclipse中展開來看,可以看到j2se中的包,apache項目中的包,還有Android自身的包檔案。在這裡我們簡單瞭解一下Android的包檔案:
android.app :提供高層的程式模型、提供基本的運行環境
android.content :包含各種的對裝置上的資料進行訪問和發布的類
android.database :通過內容提供者瀏覽和操作資料庫
android.graphics :底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪製到螢幕上.
android.location :定位和相關服務的類
android.media :提供一些類管理多種音頻、視頻的媒體介面
android.net :提供協助網路訪問的類,超過通常的java.net.* 介面
android.os :提供了系統服務、訊息傳輸、IPC 機制
android.opengl :提供OpenGL 的工具
android.provider :提供類訪問Android 的內容提供者
android.telephony :提供與撥打到電話相關的API 互動
android.view :提供基礎的使用者介面介面架構
android.util :涉及工具性的方法,例如時間日期的操作
android.webkit :預設瀏覽器操作介面
android.widget :包含各種UI 元素(大部分是可見的)在應用程式的螢幕中使用
摘自 郭子的部落格