原文:
Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当。在之前简单讲过Eclipse中Android工程的项目结构和运行原理,那么本期就来一起来了解一下Android Studio的项目结构。
一、项目查看模式
前面在熟悉Android Studio界面中提到了Project项目工具窗口,一共支持10种查看模式:
![]()
1、project模式:
展示全部文件信息,文件的位置是真实的物理结构,因此在查看文件的时候建议切换到project模式。
![]()
2、package模式:
仅显示项目本身的代码和资源,其它的信息都被隐藏了,代码和资源都以层级文件的形式显示。
![]()
3、Scratches模式:
Scratches模式只显示草稿文件。Scratch Files(草稿文件)是一个非常方便的功能,可以帮助我们快速的实验和建立原型,使用Scratch Files可以在不修攺项目和创建任何文件的情况下快速画出草图, Android Studio(Intellij idea)为Scratch Files提供了所有的辅助编码功能。
4、Android模式:
所有的文件会通过类型进行归类,这个并不是实际在电脑中的文件结构。
![]()
5、Project Files模式:
类似Eclipse的项目结构形式。
![]()
6、Problems模式:
仅显示报错的文件结构。
7、Production模式:
仅显示生产文件结构。
![]()
8、Tests模式:
仅显示测试文件结构。
![]()
9、Local Unit Tests:
仅显示本地单元测试文件结构。
![]()
10、Android Instrumented Tests:
仅显示设备化单元测试文件结构。
![]()
根据查看效果图可以知道,每一种查看模式用途都不同,在实际开中根据自己的需求选择性切换。平时用的最多的就是Project模式、Android模式,有时候也会用到Package模式。
我们今天主要学习的就是物理结构的Project模式,和电脑文件系统中看到的文件层次一模一样,非常清晰。
![]()
二、Project目录结构分析
01、Project目录
那么接下来我们就来一一了解每一个目录和文件的作用,首先来看看主目录结构,和Eclipse的目录结构相比变化很大。
在Android Studio中,Project可以理解为一个完整的APP项目,由Application的Module和一些依赖的Module组成,相当于Eclipse中的workspace。
![]()
1、.gradle
Gradle编译系统,版本由wrapper指定。
2、.idea
自动生成的用于存放Android Studio配置文件的目录,主要包括版权、检查配置、jar包信息、项目名、编译、编码、gradle、模块等。
3、app
工程中的模块——Module,是一个可以单独运行和调试的application或公共库。Android Studio中的module相当于Eclipse中的project,一个Project中可以有多个Module。
![]()
4、build
工程编译目录。
5、gradle
gradle构建目录。
6、.gitignore
工程中的Git忽略配置文件。
7、build.gradle
工程的gradle构建配置文件。
8、gradle.properties
gradle相关的全局属性配置文件。
9、gradlew
gradlew的配置文件。
10、gradlew.bat
Windows上的gradlew配置文件。
11、HelloWorld.iml
工程配置文件。
12、local.properties
本地属性配置文件(key设置、androidsdk位置等属性)
13、setting.gradle
全局配置文件。
14、External Libraries
项目中使用到的依赖库存放目录,主要有Android SDK版本和存放路径、JDK版本和存放路径、其他各种依赖库。
02、Module目录
前面大致了解了Android Studio工程的主目录,接下来一起来看app目录,也就是Module目录。
![]()
1、build
模块编译后的文件存放目录。
2、libs
模块依赖的jar包存放目录。
3、src/androidTest
设备化测试代码存放目录。
4、src/main/java
代码存放目录,该目录等同于Eclipse里面的src目录。
5、src/main/res
资源文件存放目录,该目录等同于Eclipse里面的res目录,后面详细介绍。
6、src/main/AndroidManifest.xml
应用程序的基本信息清单,等同于Eclipse中的AndroidManifest.xml文件。
7、src/test
测试代码存放目录。
8、.gitignore
模块中Git版本管理忽略文件,标记出哪些文件不用进入git库中。
9、app.iml
模块配置文件。
10、build.gradle
模块的gradle构建配置文件。
11、proguard-rules.pro
代码混淆文件。
除了上述所描述的文件和文件夹,以后开发过程中可能还会遇到这些:
11、src/main/jniLibs
so文件存放目录。
12、src/main/assets
附加的资源文件存放目录,作用同Eclipse中的assets目录。
03、res目录
res目录和Eclipse里面的res目录大同小异,由于该目录和java目录为Android开发的重点部分,这里再单独抽取出来了解一下,关于里面的具体内容后续再逐渐学习。
![]()
1、drawable
存放能转换为绘制资源的位图文件或定义了绘制资源的xml文件。
2、layout
存放定义了用户界面布局的xml文件。
3、mipmap-hdpi
高分辨率图标目录。
4、mipmap-mdpi
中等分辨率图标目录,一般较少使用,除了兼容老旧手机。
5、mipmap-xhdpi
超高分辨率目录。
6、mipmap-xxhdpi
超超高分辨率目录,当前主流手机的分辨率。
7、mipmap-xxxhdpi
超超超高分辨率目录,如平板电视。
8、values
存放定义了多种类型资源的xml文件,主要包括以下这些:
demens.xml:定义尺寸资源
string.xml:定义字符串资源
styles.xml:定义样式资源
colors.xml:定义颜色资源
arrays.xml:定义数组资源
attrs.xml:自定义控件时用的较多,自定义控件的属性。
除了上述这些,可能还会涉及到以下目录:
9、menu
存放定义了菜单资源的xml文件。
10、raw
存放各种原生资源(音频、视频、一些XML文件等)。
11、anim
存放补间动画的XML文件。
关于Android Studio的项目结构先讲到这里,里面涉及到的一些具体文件会在后续陆续接触来学习,关于Android应用的启动原理可以参照之前Eclipse的内容HelloWorld,我的第一趟旅程出发点。
从下一期正式开始学习Android界面设计有关内容,都准备好了吗?赶紧上车准备出发。
今天就先到这里,如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!
往期总结分享:
Android零基础入门第1节:Android的前世今生
Android零基础入门第2节:Android 系统架构和应用组件那些事
Android零基础入门第3节:带你一起来聊一聊Android开发环境
Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
Android零基础入门第5节:善用ADT Bundle, 轻松邂逅女神
Android零基础入门第6节:配置优化SDK Manager, 正式约会女神
Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅
Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点
Android零基础入门第9节:Android应用实战,不懂代码也可以开发
Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio
Android零基础入门第11节:简单几步带你飞,运行Android Studio工程
Android零基础入门第12节:熟悉Android Studio界面,开始装逼卖萌
Android零基础入门第13节:Android Studio配置优化,打造开发利器
Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
此文章版权为微信公众号分享达人秀(ShareExpert)——鑫鱻所有,若转载请备注出处,特此声明!
![]()
![]()