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)——鑫鱻所有,若转载请备注出处,特此声明!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容