這段時間正在學習有關Android的知識,對在Eclipse下開發的Android項目的目錄結構有了一定的了解,在此對目錄結構做一個簡單的介紹。下圖是在Eclipse下Android項目展開的項目目錄:
下面就對上圖中各級目錄結構及其作用做一個簡單的介紹:
1. src文件夾
這個文件夾是放你寫的項目的源代碼用的,你用java寫的源代碼系統都會自動放在這個文件夾里面。
1 package com.example.day04_01; 2 import android.app.Activity; 3 import android.os.Bundle; 4 5 public class MainActivity extends Activity {//創建一個類然后這個類繼承了Activity
、
6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 } 12 13 //Intent intent = getIntent(); 14 //String name = intent.getStringExtra("name"); 15 //String pwd = intent.getStringExtra("pwd"); 16 //Toast.makeText(this, "name = " + name + ",password = " + pwd, 4000).show(); 17 18 Intent inten = getIntent(); 19 //User user = inten. 20 }
上面這段代碼就是我在創建之初系統就在src文件夾自動生成一個java文件。
2. gen目錄
它是系統自動生成源代碼目錄,自動生成R.java的源代碼文件,它是res目錄下的一個索引,根據res目錄下的文件自動生成的。gen目錄為資源數據創建的索引文件,通過內部類的常量的方式,把數據的內存地址和名字一一對應,而不用文件路徑的形式,從而大大的提高了資源定位和檢索速率。
R.java中有4個靜態內部類,每個類都對應res目錄下的一種資源,每個內部類都表示一個文件夾,文件夾都是小寫,並且一一對應。res的命名規則是:小寫英文字母,小寫,橫線下划線,不能出現大寫字母。
- 1. public static final class attr{};//attribute 2。public static final class drawable {//這里面每條都記錄了對應:Project/res/drawable-*下面的一張圖片,默認格式是png public static final int icon = 0x7f020000; } 3.public static final class layout {//有多個布局文件,都是小寫開頭的。xml文件 public static final int main = 0x7f030000; } 4.public static final class String {//1.只有一個String文件,里面每條記錄都對應:Project/res/values/string.xml里面的每一條記錄,里面存放的是自定義的字符串和值 //2.也可以定義別的屬性和屬性值文(arrays.xml:color.xml;dimens.cml;style.cml) public static final int app_name= 0x7f040001; public static final int HelloAndroid= 0x7f040000;//工程名字 }
因此R.java內部類和res文件對應關系為:
- 圖片可繪制資源在drawable中
- 字符串資源在string中
- 布局xml文件在layout中
- 控件在id中
- 菜單資源在menu中
3. Android5.0.1
這是Android開發基礎包,類似於rt.jar
4. Android Private Libares
這個里面有一個資源包和一個構建包,可以看作是一個引用
5. assets
資源目錄,里面存儲一些音頻視頻圖片
6. bin文件夾
這個是輸出文件夾,生成的二進制可執行文件目錄,生成APK文件等。
7. libs文件夾
第三方jar包,微信,百度定位等。
8. res文件夾
它是你的資源目錄,里面包含了你所創建的項目的資源文件並把它編譯到應用程序中。你向資源目錄中添加資源的同時,會被R.java自動記錄下來。res目錄下包含三個子目錄:drawable,layout,values;
- drawable :(里面有hdpi,xhdpi,xxhdpi,mdpi,ldpi五種格式)里面包含的一些你創建的項目的應用程序需要用到的一些圖片格式。
- layout :界面布局文件(main.xml入口布局文件,決定的當前界面控件的擺放方式,寬高顏色等), main.xml和src中的java文件是對應關系
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context="${relativePackage}.${activityClass}" > 7 8 <Button 9 android:id="@+id/btnLogin" 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content" 12 android:text="登陸" 13 /> 14 <Button 15 android:id="@+id/btnRegister" 16 android:layout_width="wrap_content" 17 android:layout_height="wrap_content" 18 android:text="注冊" 19 /> 20 21 22 </LinearLayout>
- values :里面有一個很重要的string.xml文件(定義資源,存放自定義字符串和數值),它里面數據保存的形式是以鍵值對的方式。這個文件保存了客戶能看到的所有的具體的內容,就是數據(也叫資源)。
9. AndroidMainfest.xml : 它是項目的總配置文件,是每個Android程序中必須的文件,位於整個項目的根目錄,記錄了應用程序中使用的各種組件。(以后再對下下面代碼進行詳細解釋)
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.day04_01"//第一個就是包名,可以修改,這里修改src里面的包名也要修改 android:versionCode="1" android:versionName="1.0" > <uses-sdk//min:兼容的最小值,target:最高的值 android:minSdkVersion="14" android:targetSdkVersion="21" /> <application android:allowBackup="true"//自動備份 android:icon="@drawable/ic_launcher"//啟動的圖標 android:label="@string/app_name"//app名字,就是在手機桌面的名字,對應string里app_name > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".LoginActivity" android:label="@string/title_activity_login" > </activity> </application> </manifest>
作者:金帥
出處:ttp://www.cnblogs.com/jinshuai/
以上就是Android中主要的目錄的介紹,如有不足,敬請指教!謝謝