Android_项目文件结构目录分析
android項(xiàng)目文件結(jié)構(gòu)目錄分析
在此我們新建了一個(gè)helloworld的項(xiàng)目,先看一些目錄結(jié)構(gòu):
這么多的文件夾和文件中,我們重點(diǎn)關(guān)注是res目錄、src目錄、AndroidManifest.xml文件:
一、res目錄主要是用來存放android項(xiàng)目的各種資源文件,res就是resource單詞的縮寫。該目錄幾乎存放了android應(yīng)用所用的全部資源,包括:圖片資源、字符串資源、顏色資源、尺寸資源,以及布局文件等。不同的文件存放在不同的目錄當(dāng)中,在res目錄下面又有下一級(jí)目錄:
1、layout目錄主要是存放布局文件,比如主界面布局文件main.xml就在這里面。我們?cè)陧撁嬷屑尤胍粋€(gè)textview控件:
?
?| 1 | <textview android:id="@+id/show_helloworld" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/hello_world"></textview> |
?
2、menu目錄主要是存放菜單文件,現(xiàn)在在android開發(fā)中使用菜單不是很頻繁,比如手機(jī)很多軟件在點(diǎn)擊菜單按鈕是彈出來的對(duì)話框的布局就是放在這個(gè)目錄當(dāng)中。
3、valus目錄主要是存放一些數(shù)值,比如字符串資源存放在strings.xml中:
?
?| 1 2 3 4 5 | <resources> ????<string name="app_name">HelloWorld</string> ????<string name="action_settings">Settings</string> ????<string name="hello_world">Hello world!</string> </resources> |
顏色資源存放中colors.xml中:
?
?
?| 1 2 3 4 | <resources> ????<color name="LightOrange">#ff8B7355</color> ????<color name="LightWhite">#ffC6E2FF</color> </resources> |
尺寸資源放在dimens.xml文件中:
?
?
?| 1 2 3 4 | <resources> ????<dimen name="activity_horizontal_margin">16dp</dimen> ????<dimen name="activity_vertical_margin">16dp</dimen> </resources> |
主題樣式存放在styles.xml中:
?
?
?| 1 | <!-- Application theme. --><style name="AppTheme" parent="AppBaseTheme" type="text/css"><!-- All customizations that are NOT specific to a particular API-level can go here. --></style> |
4、圖片資源:由于圖片資源要考慮到不同分辨率的圖片,所以就要把不同的圖片放到不同的文件目錄中,系統(tǒng)會(huì)根據(jù)手機(jī)分辨率去調(diào)用適合的分辨率圖片資源。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi這四個(gè)目錄分辨存放低分辨率、中等分辨、高分辨率、超高分辨率的圖片資源。在實(shí)際項(xiàng)目中,我們一般會(huì)自己新建一個(gè)drawable目錄用于存放控件在不同狀態(tài)實(shí)現(xiàn)的不同效果,比如按下、選中、松開等狀態(tài)。大家可以在實(shí)際項(xiàng)目中操作一下。
?
二、src目錄只是一個(gè)普通的、存放Java資源文件的目錄。一般我們會(huì)建很多的包,不同包名下存放不同的java文件,比如:服務(wù)、廣播、活動(dòng)等我們區(qū)別放。之前的博客手寫簽名系統(tǒng)系列,我們就做了很詳細(xì)的區(qū)分:
?
這樣可以使項(xiàng)目的架構(gòu)更加的清晰,無論是后期維護(hù)還是前期的開發(fā)都更加的方便了。養(yǎng)成這個(gè)習(xí)慣是非常有必要的。
三、AndroidManifest.xml文件:這是android項(xiàng)目的系統(tǒng)清單文件,也是整個(gè)android應(yīng)用的全局描述文件。清單文件說明了android應(yīng)用的名稱、所使用的圖標(biāo)以及包含的組件等,主要包括:
1、應(yīng)用程序的包名,該包名將會(huì)作為該android應(yīng)用的唯一標(biāo)識(shí)。
2、應(yīng)用程序包含的組件,如activity、server、broadcastreceier、contentprovider等,這個(gè)就告訴我們?cè)谛陆ㄒ粋€(gè)類繼承這些組件時(shí),我們要在清單文件中進(jìn)行注冊(cè)一下,否則應(yīng)用程序在執(zhí)行時(shí)會(huì)報(bào)錯(cuò),無法找到相應(yīng)的類。
3、應(yīng)用程序兼容的最低版本。
4、應(yīng)用程序使用系統(tǒng)所要獲取的權(quán)限,比如你要向sd卡中寫入文件就要加入:
?
?| 1 2 | <!--添加讀取sd卡的權(quán)限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> |
值得注意的是,相應(yīng)的權(quán)限沒有獲取,在應(yīng)用程序執(zhí)行時(shí)會(huì)報(bào)錯(cuò)或者不執(zhí)行。android中權(quán)限很多,這里就不一一列出了。
?
5、其他應(yīng)用程序訪問該程序所需要的權(quán)限。
項(xiàng)目中除了res、src以及清單文件,我們簡(jiǎn)單了解一些其他的文件目錄:
1、gen目錄:保存自動(dòng)生成的、位于android項(xiàng)目包下的R.java文件。
2、bin:存放自動(dòng)生成的二進(jìn)制文件、資源打包文件以及dalvik虛擬機(jī)的可執(zhí)行文件等。
3、libs:存放引用的一些java包,比如第三方的java包。
轉(zhuǎn)載于:https://www.cnblogs.com/tranw/p/6433051.html
總結(jié)
以上是生活随笔為你收集整理的Android_项目文件结构目录分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux每天一小步---sed命令详解
- 下一篇: No architectures to