【初印象】有關Android中的目錄結構的意義


目錄結構
1)src目錄爲源文件
2)gen目錄裏的R.java文件爲Eclipse自動生成文件,沒必要手動修改
3)Android Library,應用運行的Android庫
4)assets目錄,在這個目錄裏主要放置多媒體等一些文件
5)res目錄,這個目錄主要放置應用用到的資源文件。
drawable目錄,這個目錄裏邊主要放置應用到的圖片資源
layout目錄,主要放置用到的佈局文件。格式都是XML文件
values目錄,主要存放字符串(string.xml)、顏色(color.xml)、數組(arrays.xml)
6)AndroidManifest.xml,應用的配置文件。這個文件裏,必須聲明應用的名稱,應用所用到的Activity,Service,以及receiver等。 html


展開下,大體是這樣的: java


一個Android項目會包括java源文件,資源文件如圖片,基於xml的佈局文件等,第三方的jar包等。這些文件最終會被編譯成一個.apk文件即Android應用程序可執行文件Android package file, .apk文件能夠安裝在模擬設備或者真機上。 android

 

看一下前一篇咱們建立的HelloAndroid項目的結構圖: 數組

image

 

能夠看到Android項目主要包括: app

src/: 存放java源文件 工具

gen/: 存放由Android編譯工具生成的java源文件, 這些文件不能手動修改。如R.java就定義了一些常量,這些常量是對資源文件的索引,以便咱們很方便的引用這些資源文件。 佈局

assets/: 存放一些靜態文件並將會被一塊兒打包成.apk文件 優化

res/:存放資源文件 ui

    res/drawable: 存放圖片如PNG,JPEG等 spa

res/drawable-ldpi/my_icon.png       // 存放低分辨率的圖片
res/drawable-mdpi/my_icon.png   // 存放中等分辨率的圖片
res/drawable-hdpi/my_icon.png       // 存放高分辨率的圖片

    res/layout: 存放基於xml的佈局文件

    res/menu: 存放基於xml的菜單文件

    res/values: 存放字符串等資源文件,如多語言的文件

 

bin/:存放編譯後的文件

   bin/yourpackagename/classes/:存放java編譯後的.class文件

   bin/classes.dex: class文件被轉換成針對Dalvik虛擬機優化的dex文件, 在Introducing Android中有說起。

   bin/resources.ap_: 被壓縮的資源文件相似zip文件。

   bin/yourapp.apk: Android應用程序可執行文件,其實它也是個壓縮的文件,包含了.dex文件,各類資源文件等。

 

AndroidManifest.xml是一個當前應用程序的組件清單,它列出了應用程序包含的各類activities,services,權限等, 下面看一下HelloAndroid項目中的AndroidManifest.xml文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=" http://schemas.android.com/apk/res/android"
      package="com.benjamin.helloandroid"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".HelloAndroid"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

 

能夠看到根元素manifest的定義, 首先聲明瞭命名空間,指定了包名。android:versionCode是Android應用程序的版本號,一個整形的數字,在應用程序升級的時候會進行比較是否決定要更新。android:versionName是你本身爲你應用程序定義一個版本代號,沒必要必定是數字,如」Tiger 2000」, 「System X」等。若是你的應用程序要發佈在Android Market的話,都須要指定android:versionCode和android:versionName這兩項。

android:icon表示你的應用程序顯示的圖標,"@drawable/icon」表示讀取res/drawable下面icon這個圖片,android:label表示應用程序的名稱,"@string/app_name」表示讀取res/values/strings.xml中app_name的值。activity的兩個屬性android:name和android:label分別表示這個activity的類名,activity的顯示名稱。intent-filter表示在什麼條件下這個activity會顯示。

相關文章
相關標籤/搜索