说一说Android的工程目录结构

时间:2022-09-23 10:19:12

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

说一说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系统源代码目录结构 &OpenCurlyDoubleQuote;Android源代码”&OpenCurlyDoubleQuote;目录结构”

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

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

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

  6. Android开发&colon;程序目录结构详解

    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. 展开easyui 树节点到某个点

    $(function () { $('#tt').tree({ url: '/IS/Department/JsonTree?companyID=@(Request.QueryString[" ...

  2. ODAC(V9&period;5&period;15&rpar; 学习笔记(十五)数据离线模式

    数据离线模式(Disconnected Mode)是指数据库只有在需要的时候才连接,数据的处理放在客户端内存缓冲区中完成.这样做最大的好处是减少了网络资源依赖,对数据库服务器的资源开销和压力也减少.如 ...

  3. BNUOJ-29357 Bread Sorting 模拟

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=29357 直接模拟就可以了.. //STATUS:C++_AC_190MS_1884KB # ...

  4. python中函数的默认参数陷阱问题

    其实也不能说是陷阱,只是一个不容易注意到的地方,尤其是有其他java/c++类编程语言经验的人员,这里涉及到python的一个特点,所以笔者说是陷阱只是一个噱头而已. def test(item, b ...

  5. 【Owin 学习系列】1&period; 第一个 Owin 程序

    IIS 中的 Owin 在 IIS 里面部署 Owin,既能得到 Owin 管道模型的灵活性和模块特性,也能很好地利用 IIS 成熟的配置,Owin 程序将会跑在 ASP.NET request 的管 ...

  6. &lbrack;GitHub&rsqb;第三讲:简单分支操作

    Git 最核心的操作对象是版本( commit ),最核心的操作技巧就是分支. 什么是分支? 仓库创建后,一旦有了新 commit,默认就会放到一个分支上,名字叫 master.前面咱们一直看到的多个 ...

  7. (十四)QFile操作,QByteArray,文件流操作&comma;QTextStream,QDataStream,QFileInfo&comma; QIODevice

    QFile f 1.readall #include "widget.h" #include "ui_widget.h" #include <QFileD ...

  8. redhat 下搭建网站

    1.修改yum源 把iso重新挂载到/media路径下,media是个只读的文件 vi  /etc/yum.repos.d/rhel-source.repo            //编辑yum源文件 ...

  9. &lbrack;转&rsqb;清除服务器IIS缓存的常用方法

    转自:http://www.rrzzw.com/jishu/IIS/39.html 转自:http://cqujsjcyj.iteye.com/blog/736624 使用IIS来开虚拟主机空间架设网 ...

  10. TQ2440 LCD试验失败经验教训

    试验环境:TQ2440开发板(配套TQ4.3寸屏) 试验参考书目:<ARM处理器裸机开发实战--机制而非策略>(以下简称<裸机开发实战>) <裸机开发实战>第13章 ...