android應用程序結構分析
昨天在帖子里看到的一個(gè)分析方法,很簡(jiǎn)單,給大家分享下!
本文引用地址:http://dyxdggzs.com/article/201610/305938.htm呵呵,由于我也是剛開(kāi)始學(xué)習Android,還沒(méi)有學(xué)到下面這些知識,這里就直接截圖了。
看完他這個(gè)分析之后,我對Android程序有了一個(gè)簡(jiǎn)單的認識,若要深入的理解,我想我今后還要在此下很多的功夫。。。。要努力啦。。。。
好了,下面開(kāi)始介紹他的分析方法:
他拿一個(gè)Hello,World做例子,通過(guò)分析Hello,World的目錄結構,讓我們對Android程序有一個(gè)整體而又全面的認識。
先看一下Lesson2_Helloword的顯示結果:

然后我們再看一下Helloword的程序目錄:

我們可以看到:
1. MainHelloWorld.java文件
2. R.java文件
3. android.jar文件
4. RES、Layout、main.xml文件
5. androidmainfest.xml文件
接下來(lái)我們逐個(gè)加以講解:
1、Activity類(lèi) 及 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的子類(lèi),子類(lèi)要重寫(xiě)onCreate方法。
setContentView(R.layout.main)方法是給Activity設置可以顯示的視圖(View),視圖由R類(lèi)負責尋找。
2、R文件淺析
我們看到Gen目錄下有個(gè)R.Java文件,R文件由ADT自動(dòng)生成,程序員不需要也不要去修改它,R文件負責調用應用程序中的非代碼資源。

從R文件中可以看到每一個(gè)資源都會(huì )有一個(gè)整數和它相對應。
3、res/layout/main.xml文件淺析 – 布局layout
我們看到有個(gè)res目錄,也就是resource目錄,這個(gè)目錄下存放資源文件,資源文件的統一管理,也是Android系統的一大特色?,F在要注意看的是layout目錄下的main.xml。這個(gè)文件的內容是有關(guān)用戶(hù)界面布局和設計的。在桌面程序設計領(lǐng)域采用XML也許比較新穎,但是在網(wǎng)頁(yè)設計領(lǐng)域,這個(gè)就很平常了。

從以上代碼可以看到整個(gè)程序界面由一個(gè)線(xiàn)性布局控件(LinearLayout)和2個(gè)文本框控件(TextView)組成。res的其他目錄里的其他文件也都是相關(guān)的資源描述。
4、AndroidManifest.xml文件淺析
在每個(gè)應用程序的根目錄都會(huì )有一個(gè)AndroidManifest.xml文件,該文件向Android操作系統描述了本程序所包括的組件,所實(shí)現的功能,能處理的數據,要請求的資源等等。

我們看到Manifest是根節點(diǎn),節點(diǎn)屬性里有versionCode和versionName來(lái)表示應用程序的版本;里面可以包含0個(gè)或1個(gè)application元素,application可以包含多個(gè)activity組件等等,具體的內容我們在接下來(lái)的課程里詳細講解。
5、Android.jar文件淺析
作為一個(gè)Java項目,通常情況下都會(huì )引入要用到的工具類(lèi),也就是Jar包,在A(yíng)ndroid開(kāi)發(fā)中,絕大部分開(kāi)發(fā)用的工具包都被封裝到一個(gè)名叫Android.jar的文件里了。
如果我們在Eclipse中展開(kāi)來(lái)看,可以看到j(luò )2se中的包,apache項目中的包,還有Android自身的包文件。在這里我們簡(jiǎn)單了解一下Android的包文件:
android.app :提供高層的程序模型、提供基本的運行環(huán)境
android.content :包含各種的對設備上的數據進(jìn)行訪(fǎng)問(wèn)和發(fā)布的類(lèi)
android.database :通過(guò)內容提供者瀏覽和操作數據庫
android.graphics :底層的圖形庫,包含畫(huà)布,顏色過(guò)濾,點(diǎn),矩形,可以將他們直接繪制到屏幕上.
android.location :定位和相關(guān)服務(wù)的類(lèi)
android.media :提供一些類(lèi)管理多種音頻、視頻的媒體接口
android.net :提供幫助網(wǎng)絡(luò )訪(fǎng)問(wèn)的類(lèi),超過(guò)通常的java.net.* 接口
android.os :提供了系統服務(wù)、消息傳輸、IPC 機制
android.opengl :提供OpenGL 的工具
android.provider :提供類(lèi)訪(fǎng)問(wèn)Android 的內容提供者
android.telephony :提供與撥打電話(huà)相關(guān)的API 交互
android.view :提供基礎的用戶(hù)界面接口框架
android.util :涉及工具性的方法,例如時(shí)間日期的操作
android.webkit :默認瀏覽器操作接口
android.widget :包含各種UI 元素(大部分是可見(jiàn)的)在應用程序的屏幕中使用
評論