Android studio项目目录结构

Android studio项目目录结构

  • 一、gradle目录
  • 二、idea目录
  • 三、moudle(App)目录
    • 1、build目录
    • 2、libs目录
    • 3、src目录
      • (1)AndroidTest
      • (2)Java
      • (3) res
        • A、资源介绍
          • 图片资源
          • 布局资源
          • values目录
          • raw目录
          • 动画资源
        • B、如何使用资源
      • (4)AndroidManifest.xml
      • (5)test

新建一个工程项目 Project视图下的目录结构如下图所示:
Android studio项目目录结构_第1张图片

目录文件 作用
.gradle gradle项目产生文件夹(自动编译工具产生的文件)
.idea IDEA项目文件夹(开发工具产生的文件)
app module模块
build 构建时生成文件的地方
gradle gradle环境支持文件夹
.gitignore git源码管理文件
build.gradle gradle项目自动编译的配置文件
gradlew 自动完成 gradle 环境的linux mac 脚本,配合gradle 文件夹使用
gradlew.bat 自动完成 gradle 环境的windows 脚本,配合gradle 文件夹使用
local.properties Android SDK NDK 环境路径配置
setting.gradle gradle 项目的子项目包含文件

一、gradle目录

Android studio项目目录结构_第2张图片
.gradle 是AS自动生成的目录,一般情况不做修改

二、idea目录

Android studio项目目录结构_第3张图片
idea 是AS自动生成的目录,一般情况不做修改

三、moudle(App)目录

Android studio项目目录结构_第4张图片

目录文件 作用
build 编译时生成
libs 存放第三方的jar包
src module源码所在目录
.gitignore git源码管理文件
app.iml intellij IDEA项目都会自动生成的,AS是基于IDEA开发的
build.gradle app模块的gradle构建脚本
proguard-rules.pro 指定代码混淆

1、build目录

和外层的build类似主要包含编译时自动生成的内容,其中在outputs文件夹下存放打包好的apk文件(debug和release)

2、libs目录

如果项目中是用了第三方的jar包,就需要把jar包放到libs目录下,然后jar包会被自动添加到构建路径(如集成百度地图sdk,把jar包放到libs目录。可以在build.gradle(app)文件中查看当前项目依赖)

3、src目录

Android studio项目目录结构_第5张图片
module源码所在目录

(1)AndroidTest

用来编写Android test 测试用例的,可以对项目进行一些自动化测试

(2)Java

放Java代码的地方

(3) res

存放我们各种资源文件的地方,有图片,字符串,动画,音频等,还有各种形式的XML文件
Android studio项目目录结构_第6张图片

A、资源介绍
图片资源

drawable:存放各种位图文件,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable类型的XML文件

mipmap-hdpi:高分辨率,一般我们把图片丢这里
mipmap-mdpi:中等分辨率,很少,除非兼容的的手机很旧
mipmap-xhdpi:超高分辨率,手机屏幕材质越来越好,以后估计会慢慢往这里过渡
mipmap-xxhdpi:超超高分辨率,这个在高端机上有所体现

布局资源

layout:该目录下存放的就是我们的布局文件,另外在一些特定的机型上,我们做屏幕适配,比如480*320这样的手机,我们会另外创建一套布局,就行:layout-480x320这样的文件夹!

values目录

emens.xml:定义尺寸资源
string.xml:定义字符串资源
styles.xml:定义样式资源
colors.xml:定义颜色资源
arrays.xml:定义数组资源
attrs.xml:自定义控件时用的较多,自定义控件的属性!
theme主题文件:和styles很相似,但是会对整个应用中的Actvitiy或指定Activity起作用,一般是改变窗口外观的!可在Java代码中通过setTheme使用,或者在Androidmanifest.xml中为添加theme的属性! PS:你可能看到过这样的values目录:values-w820dp,values-v11等,前者w代表平板设备,820dp代表屏幕宽度;而v11这样代表在API(11),即android 3.0后才会用到的!

raw目录

用于存放各种原生资源(音频,视频,一些XML文件等),我们可以通过openRawResource(int id)来获得资源的二进制流!其实和Assets差不多,不过这里面的资源会在R文件那里生成一个资源id而已

动画资源

animator:存放属性动画的XML文件
anim:存放补间动画的XML文件

B、如何使用资源

我们所有的资源文件都会在R.java文件下生成一个资源id,我们可以通过这个资源id来完成资源的访问,使用情况有两种:Java代码中使用和XML代码中使用。

Java代码中使用:

Java 文字:

txtName.setText(getResources().getText(R.string.name)); 

图片:

imgIcon.setBackgroundDrawableResource(R.drawable.icon); 

颜色:

txtName.setTextColor(getResouces().getColor(R.color.red)); 

布局:

setContentView(R.layout.main);

控件:

txtName = (TextView)findViewById(R.id.txt_name);

XML代码中使用:

通过@xxx即可得到,比如这里获取文本和图片:

<TextView android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background = "@drawable/img_back"/>

(4)AndroidManifest.xml

整个项目的配置文件,四大组件都需要在这里注册才能正常的运行

(5)test

用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。

你可能感兴趣的:(渣本Android学习笔记,android)