说一说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中主要的目录的介绍,如有不足,敬请指教!谢谢

时间: 2024-08-09 18:28:29

说一说Android的工程目录结构的相关文章

Android工程目录结构详解

工程目录结构: src: 存放java源代码的目录 gen: 存放自动生成文件的目录:R.java文件:存放res目录下对应资源的id 1,目录中存放所有由Android开发工具自动生成的文件. 2,目录中最重要的就是R.java文件.这个文件由Android开发工具自动产生的.Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件. 3,正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java文件. 4,R.java文件在应用中起到了字典的

【Android学习总结】之eclipse工程目录结构说明及使用

[本博客内的文章是本人的学习笔记总结,如有错误请各位批评指正,谢谢!] 通过eclipse创建的Android工程目录结构如下: 目录结构主要分为以下8个组成部分: 1.源码目录src:该目录主要用来存放java源码 2.gen目录:该目录下的R.java是编译器自动生成的,我们无须干预.工程内Res目录下的所有资源都须通过id的形式登记在该文件内. 3.assets目录:主要是用来存放打包在apk内的文件,比如:你需要通过WebView来读取本地html文件,你就可以把html文件放在该目录下

Android系统源代码目录结构 “Android源代码”“目录结构”

在讲述Android源码编译的三个步骤之前,将先介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置. Android源代码顶层目录结构如下所示: ├──abi #应用二进制接口,不同的操作系统,应用二进制接口不同,因此linux上的二进制可执行文件在windows上无法执行 ├──android #存放了一些xml文件,用于描述工程路径及其对应的远程仓库地址,repo工具将使用这些信息同步代码 ├──bionic #bionic C库,Andr

xcode的ios工程目录结构复习

目录结构: a.supporting files: main.m和资源文件 xxx-info.plist:包含应用程序相关属性列表,如版本,程序名等 .pch文件:预编译头文件,相当于MFC里的stdafx.h,默认已经包含了常用的头文件 .strings文件:国际化字符串资源 图片等其他资源 b.frameworks: 程序需要的外部库文件,默认已经包含常用的库,如UIKit,Foundation等库 c.products: 生成执行文件所在目录 d.xib文件:视图文件,提供给interfa

C#程序员学习Android开发系列之Android项目的目录结构

今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目录:存放java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity).由于java要求比较严格,因此要求类名与文件名一致. gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改.里面主要有一个

Android开发学习——Android项目的目录结构

Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.first"  //应用在系统中的

Android开发系列之Android项目的目录结构

今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目录:存放Java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity).由于java要求比较严格,因此要求类名与文件名一致. 2.gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改.里面主要有

Android系列教程之Android项目的目录结构

一: Android 项目的目录结构 Android 项目结构概览.其实 Android 项目的目录结构和 Java 的差不多,没有太大变化,如下图:  可以看到 src 文件夹里的是源文件, Android2.2 是引用的类库,这些和 java 的都一样,那么下面的这个 gen 是什么呢?这个里面的类就是 ADT 自动生成的啦,一般只有一个 R.java 文件,是不能修改的,那么他是怎么生成的呢,看到下面的 res 文件夹了吗? R.java 就是根据资源文件夹 res 生成的 ,R.java

Android开发:程序目录结构详解

HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidManifest.xml.default.properties.在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构: 下面将分节介绍上面的各级目录结构. 1.src文件夹 顾名思义(src, source code)该文件夹是放项目的源代码的.打开HelloWorld.jav