目录结构:

  1,java目录:保存java或kotlin源文件

  2,res目录:保存Android项目的各种资源文件。比如layout子目录存放界面布局文件,values子目录存放各种XML格式的资源文件,如字符串资源文件strings.xml、颜色资源文件colors.xml、尺寸资源文件dimens.xml;drawable子目录存放XML文件定义的Drawable资源,如drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-xxhdpi等子目录分别用于存放低分辨率、中分辨率、高分辨率、超高分辨率、超超高分辨率的5种图片文件。

    与drawable子目录对应的还有一个mipmap子目录,这两个子目录都用于存放各种Drawable资源。其区别在于:mipmap子目录用于保存应用程序启动图标及系统保留的Drawable资源;而drawable子目录则用于保存与项目相关的各种Drawable资源。

    Android按照约定,将不同的资源放在不同的文件夹内,这样可以方便的让AAPT工具来扫描这些资源,并为它们生成对应的资源清单类:R.java

    R是AAPT工具根据Android项目中的资源文件自动生成的一个java类,可以把它理解成Android应用的资源字典。

    AAPT生成R.java文件的规则主要是如下两条:

      1.每类资源都对应于R类的一个内部类。比如所有界面布局资源都对应于layout内部类;所有字符串资源对应于string内部类;所有标识符资源对应于id内部类。

      2.每个具体的资源项都对应于内部类的一个public static final int 类型的字段。例如,布局文件中用到了id为show的标识符,因此R.id类里就包含了这个字段;由于mipmap-xxx文件夹里包含了ic_launcher.png图片,因此R.mipmap类里就包含了ic_launcher字段。

      例1:/res/value/strings.xml文件。

 <resources>
<string name="app_name">My Application</string>
</resources>

      AAPT扫描后生成类似如下R.java文件。

     //对应于一份资源
public static final class string{
//对应于一个资源项
public static final int app_name=0x7f040000;
//.....
}

      1.在java代码中引用

        R.string.app_name

      2.在XML文件中使用

        @资源对应的内部类的类名/资源项的名称

        @string/app_name

      例2:

        android:id="@+id/ok"

      1.java代码中引用:

         findViewById();

         2.其他XML文件中获取该组件,@id/ok

  3,AndroidManifest.xml文件是Android项目所必需的,是整个Android应用的系统清单文件【全局描述文件】,它用于控制Android应用的名称、图标、组件、访问权限等整体属性。除此之外,Android应用的Active、Service、ContentProvider、BroadcastReceiver这4大组件都需要在该文件中配置。

    通常包含如下信息:

      1.应用程序的报名,该包名将会作为该应用的唯一标识。

      2.应用程序所包含的组件,如Activity、Service、BroadcastReceiver和ContentProvider等。

      3.应用程序兼容的最低版本。

      4.应用程序使用系统所需的权限声明

      5.其他程序访问该程序所需的权限声明

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication"> <!--指定该Android应用的包名,用于唯一标识该应用--> <!--指定应用的图标、标签、圆图标、主题等等-->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"> <!--定义应用的一个组件:Activity,该Activity的类为MainActivity-->
<activity android:name=".MainActivity">
<intent-filter> <!--指定该Activity是程序的入口-->
<action android:name="android.intent.action.MAIN" /> <!--指定加载该应用时运行该Activity-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>

Android Application的目录结构的更多相关文章

  1. android Application Project目录结构

    src:存放java源文件 gen: 资源配置文件 Android4.0: 4.0 类库 Android Private Lib: 支持库 Android Dependencies: android ...

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

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

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

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

  4. 说一说Android的工程目录结构

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

  5. android项目的目录结构讲解

    参考书籍:<第一行代码Android> 一:android项目的目录结构讲解 1..gradle和.idea         这两个目录下放置的都是Android Studio自动生成的一 ...

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

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

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

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

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

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

  9. Android项目的目录结构 初学者记录

    Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...

随机推荐

  1. 1.4 JAVA日期处理

    一.JAVA日期 参考链接:https://www.runoob.com/java/java-date-time.html 1.日期两个构造函数 1.第一个构造函数使用当前日期和时间来初始化对象.Da ...

  2. Linux设备驱动程序 之 主次设备号

    主设备号和次设备号 对字符设备的访问是通过文件系统内的设备名称进行的,这些名称被称为特殊文件.设备文件.或者简单称之为文件系统树的节点,它们通常位于/dev目录.字符设备驱动程序的设备文件可以通过ls ...

  3. Java实验报告(一)

    Java实验报告(一) 实验过程 1. 打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个" ...

  4. 初始html5

    一.html5的发展历史: 2004年提出构想:2008年发布第一份草案:2012年前后位推广阶段:2020年最终测试:2022年正式发布. 二.html5新特性: (1)html5 语义化更好: 新 ...

  5. 黑马vue---19、v-for中key的使用注意事项

    黑马vue---19.v-for中key的使用注意事项 一.总结 一句话总结: 必须 在使用 v-for 的同时,指定 唯一的 字符串/数字 类型 :key 值 <p v-for="i ...

  6. koa 允许跨域

    1.安装模块 npm install koa2-cors --save 2.引用 const cors = require('koa2-cors'); ... // 允许跨域访问 app.use(co ...

  7. 图解Python 【第二篇】:Python基础2

    本节内容一览图 一.数据类型 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4. ...

  8. MySQL 如何使用show processlist进行过滤

    在使用show processlist的时候,直接使用会显示很多的内容,无法很快找到需要的信息. 如何过滤操作呢? 其实,show processlist展示的内容是从information_sche ...

  9. 【论文学习】A Fuzzy-Rule-Based Approach for Single Frame Super Resolution

    加尔各答印度统计研究所,作者: Pulak Purkait (pulak_r@isical.ac.in) 2013 年 代码:CodeForge.cn http://www.codeforge.cn/ ...

  10. mysql 截取字符函数substring(param1,param2,param3) 的用法

    substring(paramter1,paramter2,paramter3) 截取字段长度 paramter1  被截取的字段paramter2 从第几位开始截取,负数表示从末尾开始数,的位数开始 ...