Android开发-Android项目结构


前言

Android工程的项目结构比较复杂,在进行Android开发前必须对Android项目的工程结构有一个清晰的认识,这样才能在开发道路上走的轻松。


一、Gradle

1.1什么是Gradle?

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
在这里插入图片描述

1.2Gradle是一个构建工具,那么为什么要用构建工具?

如果开发每次实现功能时都需要手动的进行编译、单元测试和打包等工作,那显然会非常耗时而且也容易出现问题,因此项目自动化应运而生,它有以下优点:

1. 它可以尽量防止开发手动介入从而节省了开发的时间并减少错误的发生。
2. 自动化可以自定义有序的步骤来完成代码的编译、测试和打包等工作,让重复的步骤变得简单。
3. IDE可能受到不同操作系统的限制,而自动化构建是不会依赖于特定的操作系统和IDE的,具有平台无关性。

二、项目结构

当我们创建完一个安卓项目后,其项目的目录结构如下所示
在这里插入图片描述
1 .gradle和.idea:这两个目录下都是Android Studio自动生成的,无须关心,也不要手动编辑。

2.app:存放项目的代码和资源,开发的集中地。

3.gradle:这个目录下包含gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。

4.gitgnore:版本控制工具,用来将指定的目录或文件排除在版本控制外。

5.build.gradle:项目全局的gradle构建脚本,一般不需要修改

6.gradle.properties:全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本。

7.gradlew和gradlew.bat:用于在命令行界面中执行gradle命令,其中gradlew是在linux或mac系统,gradlew.bat是在windows系统使用。

8.local.properties:用于指定本机中AndroidSDK路径,通常内容是自动生成,除非本机SDK位置发生变化,否则无须修改。

9.settings.gradle:用于指定项目中所有引入的模块,新工程demo只有一个app模块,所以该文件中就只引入了app这一个模块。


三、app目录结构

项目中的代码、资源等几乎都在这里,后面开发也基本在这里。
在这里插入图片描述
1.build:包含了一些在编译时自动生成的文件,无需过多关心。

2.libs:若项目中使用到了第三方jar包,就需要把这些jar包都放在libs目录下,放在这个目录下的jar包都会被自动添加到构建路径去。

3.androidTest:这个是用来编写androidTest测试用例的,可以对项目进行一些自动化测试。

4.java:放置java代码的地方。

5.res:項目里用到的所有图片(drawable)、布局(layout)、字符串、样式、颜色(values)等资源存放在这。

6.AndroidManifest.xml:整个安卓项目的配置文件,在程序中定义的所有四大组件,都需要在这个文件里注册,另外还可以在这里给应用程序添加权限声明。

7.test:编写单元测试案例。

8.gitgnore:版本控制。

9.build.gradle:app模块的gradle构建脚本,文件中会指定很多项目构建相关的配置。

10.proguard-rules.pro:指定项目代码的混淆规则,如果不希望代码被人破解,通常会将代码混淆。


四、res目录结构

項目里用到的所有图片(drawable)、布局(layout)、字符串、样式、颜色(values)等资源存放在这。
在这里插入图片描述
1.drawable:存放图片
2.mipmap:存放图标
3.layout:放布局xml文件
4.values:放字符串、样式、颜色等配置
注意:“-”后面内容是为了更好地兼容各种设备。(不同分辨率)


总结

本文主要介绍了Android项目的结构,虽然工程文件较多,但只要理解每个文件夹的作用和含义就能对项目结构有一个清楚的认识,为未来的开发之路打下坚实的基础。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JinziH Never Give Up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值