前面Day1:eclipse創建Android模擬器,我們學會了如何在eclipse上創建Android模擬器。本着“窮根究底”的黑客精神,我們將較為詳細地了解App項目——
##BigLottery的目錄結構
在eclipse的左側展開BigLottery項目,本文主題如下所示:
下面將分節介紹上面的各級目錄結構。
##目錄結構分析
###1. src目錄(關鍵詞:源代碼)
src,即"source code"。顧名思義,src是存儲Java源文件的目錄。打開MainActivity.java文件會看到如下代碼:
package com.example.biglottery;
import android.os.Bundle; //傳遞數據
import android.app.Activity; //活動
import android.view.Menu; //組件
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to
// the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
當我們新建一個Android項目,系統自動生成了一個MainActivity.java文件。它導入了三個類:
android.os.Bundle、android.app.Activity、android.view.Menu。
MainActivity類繼承了Activity類且需重寫onCreate方法。
In a word, src是存儲編寫程序的目錄。
###2. gen目錄(關鍵詞:資源索引)
該目錄用於保存自動生成的R.java文件(只讀模式,不能更改)。
R.java文件是由AAPT工具根據應用中的資源文件自動生成的,包含了Android的資源文件的標識符。隨着我們不斷向項目中添加資源,R.java文件的內容也會越來越多。
因此,我們可以把R.java理解成Android應用的資源字典。
###3. Android 4.3(關鍵詞:Android版本)
**Android版本資源,其中包含構建應用程序所需的所有的Android SDK 庫(如Views、Controls)和APIs。**通過android.jar將自己的應用程序綁定到Android SDK和Android Emulator,這允許你使用所有Android的庫和包,且使你的應用程序在適當的環境中調試。
###4. assets/res(關鍵詞:資源)
Android應用可以將資源存儲在兩個目錄:assets和res。
assets:資源可以任意存放,也可以建立任意層次的子目錄。
res:資源只能存儲在相應的子目錄(如res/layout、res/values等)中,不能直接將資源存儲在res目錄中。如圖所示:
兩者具體區別:android res與assets資源的區別。
###5. bin(關鍵詞:目標文件)
bin文件夾中包含編譯生成apk的應用程序:xxx.apk。
###6. Android Private Libraries/libs(關鍵詞:類庫)
兩者皆儲存Android項目所需的第三方庫。
Android Private Libraries引用的是第三方jar包,表示放在libs里面的jar包引用,視為私有引用。添加jar包到libs里面,系統自動把jar加載到android private libraries中。我們把libs中的jar包移除 Private Libraries中也就沒有了。
簡而言之,Private Libraries 就是libs里面的jar包的映射。
###7. AndroidManifest.xml(關鍵詞:配置)
Android項目的總配置文件,記錄應用中所使用的各種組件。這個文件列出了應用程序所提供的功能,在這個文件中,你可以指定應用程序使用到的服務(如電話服務、互聯網 服務、短信服務、GPS服務等等)。另外當你新添加一個Activity的時候,也需要在這個文件中進行相應配置,只有配置好后,才能調用此 Activity。
###8. project.properties (關鍵詞:默認屬性)
該文件記錄了項目中所需要的環境信息,比如Android的版本等。(注意:其不可修改!)
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-18
【文章小結】
- src(開發的程序)
- gen(資源文件的標識符)
- Android 4.3(Android SDK)
- assets/res(資源文件)
- bin(編譯生成安裝包)
- Android Private Libraries/libs(第三方類庫的jar包)
- AndroidManifest.xml(系統清單文件)
- project.properties (默認屬性文件)
【編輯推薦】