Android 项目在Eclipse中的目录结构
Android工程目錄
??
如果使用Eclipse插件ADT開發(fā)應(yīng)用程序,必須要熟悉工程的目錄結(jié)構(gòu),清楚各個(gè)目錄下面放置的是什么東西。Android工程主要的目錄有:src、bin、gen、res等。
不同的Android平臺(tái)目錄結(jié)構(gòu)是不同的,下面以Android 2.3.3 為例介紹Android 在Eclipse 中的目錄結(jié)構(gòu),下面是目錄結(jié)構(gòu):
這里01_項(xiàng)目名當(dāng)然就是我們的項(xiàng)目名了,下面分別對(duì)各目錄進(jìn)行解析。
?
1. Src:
該目錄中存放的是該項(xiàng)目的源代碼,這個(gè)目錄包含了你即將創(chuàng)建的Java源代碼文件,這個(gè)目錄里的文件是根據(jù)package結(jié)構(gòu)管理的,它與普通java項(xiàng)目中的/src目錄很相似。
如上圖所示,其中cn.com.qiang.helloworld 是包名,MainActivity.java 是默認(rèn)的源代碼文件,我們可以打開看一下里面的代碼:
[java]?view plaincopy Activity 就是我們大名鼎鼎的Android 四大組件之一,主要實(shí)現(xiàn)我們打開app 所看到的界面。?
2.Gen:
自動(dòng)生成的文件目錄。該目錄下的文件全部都是ADT自動(dòng)生成的,一般并不需要去修改,實(shí)際上該目錄下只定義了一個(gè)R.java文件,該文件相當(dāng)于項(xiàng)目的字典,為項(xiàng)目中用戶界面、字符串、圖片等資源都會(huì)在該類中創(chuàng)建其惟一的ID,當(dāng)項(xiàng)目中使用這些資源時(shí),會(huì)通過(guò)該ID得到資源的引用。
我們可以看看其中的代碼:
[java]?view plaincopy 這是其中的一部分,我們可以看到其中各個(gè)資源的ID。
3.Android {版本號(hào)}:
這個(gè)目錄包含了項(xiàng)目需要的庫(kù)文件(Jar文件),這和普通Java項(xiàng)目中的/lib目錄很相似。同時(shí)其中還包含項(xiàng)目打包時(shí)需要的META-INF目錄.
?
4.Android Private Libraries:
所有的第三方JAR包引入都被放入了Android Private Libraries中
?
5.assets:
資源路徑,不會(huì)在R文件注冊(cè)。該目錄用于存放項(xiàng)目相關(guān)的資源文件,這個(gè)目錄和res包含的xml文件差不多,也是應(yīng)用中引用到的一些外部資源。但主要區(qū)別在于這些資源是以原始格式保存,且只能用編程方式讀取。例如文本文件,視頻文件,MP3音頻等媒體文件。
?
6.bin:
編譯生成目錄。二進(jìn)制文件,包括class、資源文件、dex、apk等。
可以看到,這里01_項(xiàng)目名.apk 就可以直接在手機(jī)里安裝使用了。
?
7.res:(這個(gè)就很重要了)
該目錄用于存放應(yīng)用程序中經(jīng)常使用的資源文件,其中包括圖片、布局文件以及參數(shù)描述文件等,其中包括多個(gè)目錄。
?
a) 其中以drawable開頭的四個(gè)文件夾用于存儲(chǔ).png、.9.png、.jpg等圖片資源(.9.png是Android特有的圖片格式,可以根據(jù)情況進(jìn)行拉伸,達(dá)到不變形的效果),他們的分變率從高到低,如果你打算在android應(yīng)用中包含一個(gè)圖片或者圖標(biāo),就應(yīng)該把它們放在這個(gè)目錄。
可以看到,我們的drawable-hdpi 文件中有三個(gè)圖片,注意:圖片名字不能有大寫字母和漢字,我們可以用F2修改其名字,且調(diào)用圖片時(shí),是不需要添加.png的。
?
b)?layout文件夾存放的是應(yīng)用程序的布局文件,這些layout是以xml形式保存的,關(guān)于layout的進(jìn)一步信息,你可以參考android文檔中的UI layout。可以看看默認(rèn)的文件:
[java]?view plaincopy其中TextView顯示一個(gè)文件系統(tǒng)提供的空間。
Eclispse 同時(shí)為我們提供了Graphic Layout (可視化布局)?:
?
?
c) menu
memu主要用設(shè)置菜單文件
?
d) values
這個(gè)目錄也包含了一些xml文件,但主要是應(yīng)用中要引用的key-value對(duì)。這些XML文件聲明了數(shù)組(Array)、顏色(color)、度量(Dimension)、字符串。之所以把這些東西分別放在單獨(dú)的xml文件中主要是考慮到這些值能夠在不更改源代碼的情況下用于多語(yǔ)言環(huán)境。例如,根據(jù)用戶語(yǔ)言的不同應(yīng)用程序中的信息可以有多種語(yǔ)言版本。
1) strings.xml 文件—— 字符串資源文件,可以看一下源代碼
[java]?view plaincopy當(dāng)?.xml 文件調(diào)用用strings中的字符串時(shí),需這樣調(diào)用:
[java]?view plaincopy即?@string/+<string name>,則會(huì)調(diào)用strings.xml中定義的字符串;
當(dāng)Java源代碼需調(diào)用字符串時(shí),則需要調(diào)用gen中的R.string這樣來(lái)使用字符串;
?
2) dimens.xml 文件,主要用來(lái)設(shè)置文件的寬度和高度
[java]?view plaincopy 這里?dp—寬度,sp— 字體大小
3) stypes.xml 文件
?
8.AndroidManifest.xml:
清單文件?這個(gè)XML文件包含了android應(yīng)用中的元信息,是每個(gè)android項(xiàng)目中的重要文件。在軟件安裝的時(shí)候被讀取,Android中的四大組件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在該文件中,以及運(yùn)行這個(gè)android應(yīng)用程序需要的用戶權(quán)限列表,例如:電話、短信、互聯(lián)網(wǎng)、訪問(wèn)SD卡,同時(shí)也詳細(xì)描述了android應(yīng)用的項(xiàng)目結(jié)構(gòu)。
[java]?view plaincopy1)、每個(gè)activity 都要注冊(cè),注冊(cè)的方式 寫上“包名+類名”即可:
[java]?view plaincopy2)、必須有一個(gè)activty 作為入口界面
[java]?view plaincopyintnet-filter 被稱為意圖過(guò)濾器。
?
9. proguard-project.txt:
代碼混淆相關(guān)文件
?
10.project.properties:
工程屬性的配置文件,配置編譯的版本等。ADT14 以后, project.properties和default.properties合并成了project.properties。供Eclipse使用,讀取該項(xiàng)目使用Android版本號(hào)
總結(jié)
以上是生活随笔為你收集整理的Android 项目在Eclipse中的目录结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python使用python-snap7
- 下一篇: Android Json 解析