这段时间正在学习有关Android的知识,对在Eclipse下开发的Android项目的目录结构有了一定的了解,在此对目录结构做一个简单的介绍。下图是在Eclipse下Android项目展开的项目目录:

下面就对上图中各级目录结构及其作用做一个简单的介绍:

  1. src文件夹

    这个文件夹是放你写的项目的源代码用的,你用java写的源代码系统都会自动放在这个文件夹里面。

 package com.example.day04_01;
import android.app.Activity;
import android.os.Bundle; public class MainActivity extends Activity {//创建一个类然后这个类继承了Activity 、 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} //Intent intent = getIntent();
//String name = intent.getStringExtra("name");
//String pwd = intent.getStringExtra("pwd");
//Toast.makeText(this, "name = " + name + ",password = " + pwd, 4000).show(); Intent inten = getIntent();
//User user = inten.
}

上面这段代码就是我在创建之初系统就在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文件是对应关系
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" > <Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登陆"
/>
<Button
android:id="@+id/btnRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册"
/> </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中主要的目录的介绍,如有不足,敬请指教!谢谢

 

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

  1. Android Studio工程目录介绍

    来自知乎: Android Studio工程目录结构 .gradle 是gradle运行以后生成的缓存文件夹. .idea 是android studio/Intellij IDEA工程打开以后生成的 ...

  2. Android工程目录结构

    ----------siwuxie095 首先创建一个简单的项目:MainActivity 工程目录结构一览: 工程目录结构介绍: 1.manifests目录 里面有一个AndroidManifest ...

  3. 【Android Studio安装部署系列】三、Android Studio项目目录结构

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 简单介绍下Android studio新建项目的目录结构. 常用项目结构类型 在Android Studio中,提供了以下几种项目结 ...

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

    在讲述Android源码编译的三个步骤之前,将先介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置. Android源代码顶层目录结构如下所示: ├ ...

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

    Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...

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

    HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...

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

    今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目 ...

  8. IOS的工程目录结构和生命周期

    IOS的工程目录结构和生命周期 ·simple table文件夹:工程相关源代码和配置文件 BIDAppDelegate :    委托的声明和实现 BIDViewController:    视图控 ...

  9. Ionic 3 项目的工程目录结构(转载)

    工程目录结构说明如下图

随机推荐

  1. C++经典面试题

    1.int a=5,则 ++(a++)的值是() A.5      B.   6          C.7       D.逻辑错误 a++返回的是一个暂时变量,这里是右值,不能再前面++了 2.以下 ...

  2. asp.net架构基础知识--页面以及全局事件

    1.asp.net的请求过程,以及对应的处理请求的dll客户的请求页面由aspnet_isapi.dll这个动态连接库来处理,把请求的aspx文件发送给CLR进行编译执行,然后把Html流返回给浏览器 ...

  3. 【JavaScript】你知道吗?Web的26项基本概念和技术

    Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术. ...

  4. HDOJ 1914 The Stable Marriage Problem

    rt 稳定婚姻匹配问题 The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 6553 ...

  5. Q_INVOKABLE与invokeMethod用法全解

    在Qt/Qt Quick宏浅议一文中,我们将介绍Qt中经常使用的几个宏: Q_OBJECT, SIGNAL与SLOT, Q_SIGNALS 与 Q_SLOTS, Q_EMIT ,Q_INVOKABLE ...

  6. 浏览器自动化工具-Selenium

    Table of Contents 1. 什么是Selenium 2. 简单的例子 3. PS 什么是Selenium Selenium可以自动化操作浏览器,利用Selenium可以模拟用户操作,因此 ...

  7. Linux下redis安装与使用

         redis官网地址:http://www.redis.io/      最新版本:2.8.3      在Linux下安装Redis非常简单,具体步骤如下(官网有说明):      1.下载 ...

  8. Cows

    Farmer John's cows have discovered that the clover growing along the ridge of the hill (which we can ...

  9. Mispelling4

    Problem Description Misspelling is an art form that students seem to excel at. Write a program that ...

  10. myecplise 打开报错 Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'. Java.lang.NullPointerException

    Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'.Java.l ...