首先我們來看看Android工程的目錄結構,如下圖:
下面我們來看看每個文件夾都是用來做什麼的?
1、src:這個不用多說,它就是保存Java源文件的目錄;
2、gen:該文件夾用來保存自動生成的R.java文件;
3、Android***:Android應用程序所依賴的包;
4、assets:存放資源文件(如mp3、video、圖片等),不會在R.java中生成id;
5、bin:存放生成的目標.apk文件和Dalvik的可執行性文件.dex;
6、res:存放Android工程的各種資源文件,如layout存放佈局文件,values存放各種xml格式的資源文件-string.xml,顏色文件color.xml(均以鍵值對方式出現),drawable分別存放低、中、高、超高分辨率的圖片;
7、AndroidManifest.xml:Android工程清單文件,它是一個全局配置文件,用於控制Android應用名稱、圖標、訪問權限等屬性;除此之外Android的四大天王Activity、service、contentprovider、broadcastRecevier都需要在該清單文件中註冊。
看了上面介紹有木有發現assets和res這兩個文件夾,這兩個文件夾都是存放資源的,那他們有什麼區別呢?
首先:assets存放的資源不會在R.java中生成id,而res文件夾下任意資源都會在R.java中生成id;
其次:assets存放的資源需要通過open/openfile方法來進行訪問(用來存放大文件更好),而res中的資源一般都是通過R.id.**或R.layout.***來進行訪問的。