上一章我们成功运行了“Hello Word!”程序。今天我们理解以下程序结构与代码。
一、目录结构
打开IDE,默认展示Android结构,这种转化的目录结构便于我们编程。
为更好理解程序,我们在屏幕左上方,将“Android”转换为“Project”目录结构
目录详细解释如下:
- .gradle / .idea:文件夹名称前面有“.”均为隐藏文件夹,IDE自动生成,无需关心。
- app:项目的仓库,我们编好的程序、程序需要的资源都在这里存放,也是我们编程的重心。
- build:项目的编译生成文件。IDE将我们编写的代码转化成机器可以运行的文件,生成的文件存放于此,无需关心。
- gradle:此文件包含的IDE打开时,下载的gradle wrapper配置文件。当我们使用同一版本的gradle时,IDE会加载缓存文件,并不需要每次都下载。(后期会教大家使用离线编译)
- .gitignore:将文件中写入的目录,排除在版本控制之外。前期不会涉及之一方面。
- build.gradle:项目的构建脚本,若是gradle同步有问题,我们主要更改的就是这个文件,后期会详细讲解,前期无需更改。
- gradle.properties:全局gradle配置文件,编译器的设置文件,一般不需要修改。
- gradlew和gradlew.bat:命令行执行gradle命令的依赖文件。前者用于linux与Mac,后者用于Windows。
- Hello Word.xml:标识文件,所有Intelij IDEA项目都会有的,无需关心。
- local.properties:Android SDK文件目录索引。指向你所下载安卓系统文件的目录,无需更改。
- setting.gradle:指定项目引入模块,此程序我们只有app一个模块,此目录一般自动生成,不需要过多配置。
总结:我们会发现,除了app目录其他我们基本不需要更改,所以Android视图下只分出app与Gradle Scripts两个大目录。
二、app目录解析
敲黑板,画重点!
app目录下结构解析如下:
- build:编译自动生成文件,无需关心
- libs:使用的jar依赖包存放目录,目录中的文件均会自动添加到工程中。
- src/android Test:编写程序自动化测试用例。
- src/Main/java:存放我们所有java/kotlin代码,kotlin可是100%兼容java的。
- src/Main/res:存放项目中使用的图片、布局、字符串等资源。里面仍会细分不同的文件夹来分类存放。
- src/Main/AndroidManifest.xml:类似于widows的注册表,所有使用的组建均需要在这里声明并给予权限。
- src/test:仍然是自动化测试用例,区别于src/android Test,这里编写的是Unit Test测试用例。
- .gitinore:限定于app模块内部,控制指定目录或文件,排除在版本控制之外。
- app.xml:IDE自动生成,无需关心,也不会用到。
- build.gradle:app模块的gradle构建脚本。
- proguard-rules.pro:制定代码的混淆规则,降低代码可读性,从而防止他人破解你的程序。
下面我们通过一张图来理解一下Android 项目文件构成:
下一期我们讲解Hello Word是怎么运行起来的。