說一說Android的工程目錄結構


這段時間正在學習有關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. 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中主要的目錄的介紹,如有不足,敬請指教!謝謝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM