Android 项目目录结构解读
我们新建一个 Android 工程之后,发现项目有很多文件夹和文件,对于初学者可能搞不清究竟从哪里下手,哪些需要关注,哪些暂时不用理睬,以缩短学习成本。下面我们来一个个详情下。
我们新建一个 Android 工程,工程名叫 AndroidCourse,在 Android Studio 中展现如下:
项目结构
AndroidCourse
项目名.gradle .idea
这两个目录项目构建时生成的缓存文件,开发者无需干预。app
开发者需要操作的大多在这个目录下面,里面包含了代码文件、资源文件、jar 包等等,后面我们开展这个目录详细讲解。build
编译时自动生成的文件,开发者无需干预。gradle
这个目录下包含了 gradle wrapper 的配置文件。.gitignore
这个文件是用来将指定的目录或者文件排除在版本控制之外的,这样你在 git 合并或者者提交时,并不会比对这些文件,也不会将这些文件的本地改动提交。AndroidCourse.iml
iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件(Android Studio 是基于 IntelliJ IDEA 开发的),用于标识这是一个 IntelliJ IDEA 项目,开发者无需干预。build.gradle
这是项目全局的 gradle 构建脚本,大多数情况不需要操作该文件。gradle.properties
这个文件是全局的 gradle 配置文件,在这里配置的属性将会影响到项目中所有的 gradle 编译脚本。gradlew gradlew.bat
这两个文件是用来在命令行界面中执行 gradle 命令的,其中 gradlew 是在 Linux 或者 Mac 系统中使用的,gradlew.bat 是在 Windows 系统中使用的。local.properties
配置 Android SDK 的路径,自动生成的,也可以手动修改路径。README.md
markdown 文件,这是我自己增加的,用于备注少量信息。settings.gradle
配置项目的板块。假如需要引入其它板块的话,可以在这个文件里增加,通常项目不需要修改。
重点讲解 app 文件夹
下面我们把 app 文件夹开展重点讲解,对于初学者,或者者在大多数情况下,我们只要要在这里面操作。
项目结构
libs
放少量 jar 包,比方你接入第三方平台的话,例如微信分享、支付、QQ登陆等等,那么你可能需要把他们提供的 jar 包放在该目录下,或者者参照第三方平台提供的 demo,让你放在哪,就放在哪。src
这个文件夹就是存放各种资源了,包括代码资源、图片资源等等。src/androidTest
单元测试的代码。src/main
(5颗星)最主要的文件夹。src/main/assets
放置少量不需要被编译成二进制的文件,比方内置的db文件。src/main/java
java代码都在这里。src/main/res/anim
默认是没有这个文件夹的,这个文件是我新建的,当你需要存放动画xml资源的时候,你就需要新建这么一个文件夹 anim,大家先记着,用到时候就知道有这么回事了。src/main/res/drawable
存放自己设置的背景xml文件,用来设置视图的背景。注意,我这种说法是实际开发中就这么做的,当然,你也可以把图片放里面,不是不可以。src/main/res/drawable-xxhdpi
这个文件夹默认也是没有的,是我新建的,当然实际上你还可以新建drawable-hdpi、drawable-xhdpi、drawable-xxxhdpi,用来存放不同尺寸的图片资源。src/main/res/layout
存放布局 xml 文件,包括 Activity 的布局文件,自己设置 View 的布局文件等等。src/main/res/mipmap-*
存放不同尺寸的 APP 的启动图标。src/main/res/values
存放颜色、单位、自己设置属性、样式等 xml 文件。src/main/res/AndroidManifest.xml
每一个 Activity 都需要在这个文件里面注册,还可以设置默认启动的 Activity,设置权限等等。src/test
单元测试代码。.gitignore
和外层 .gitignore 相似,将制定目录或者文件排除在版本控制之外。app.iml
和外层 .iml 文件一样,IntelliJ IDEA 项目自动生成的文件,不需要干预。build.gradle
这个还是很重要的,当然,初学者暂止也无需关心。Android Studio 通过 Gradle 来构建项目,我们可以在 build.gradle 配置很多信息,例如需要引入的库、release 包和 debug 包的不同配置、各个渠道包的配置等等。Gradle 是一个知识体系,深入学习的话还是有很多内容的。proguard-rules.pro
混淆文件。我们防止别人通过安装包获取到源代码,所以通过此文件对代码进行混淆,从而破坏代码的阅读性。可以指定部分包下面的代码混淆,或者者指定部分文件混淆;也可以指定部分文件不混淆,任由你配置。
谢谢支持!
看完这篇,你就算精通TextView了
Android 布局优化
Android 逐帧动画
Android 视频教程
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Android 项目目录结构解读