2.安卓四大组件和项目的目录结构

在讲解android目录结构前,我们需要补充一个基本知识,就是安卓四大组件的概念,

Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content    Provider)。其中活动是所有Android应用程序的门面,凡 是在应用中你看得到的东西,都是放在活动中的。而服务就比较低调了,你无法看到它, 但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播 接收器允许你的应用接收来自各处的广播消息,比如电话、短信等,当然你的应用同样也 可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能,比如你想要 读取系统电话簿中的联系人,就需要通过内容提供器来实现。

 

回看我们的工程目录

      这个目录结构不是真正的目录结构,而是由Android自动转换的为方便开发人员快速开发的Andriod模式目录结构。每个新建的安卓工程都默认是这种目录结构。

    我们点击上方的下拉框,切换到安卓工程的真正目录结构

1 .gradle和.idea:

这两个目录都是android studio自动生成的东西,我们无需关心。

2 app

:我们要进行开发的代码几乎都是写在这里,稍后我们会对该目录进行详细讲解。

3 gradle:

这个目录下包含了gradle wrapper的配置文件,使用gradle    wrapper的方式不需要提前将gradle 下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。Android    Studio默认 没有启用gradle    wrapper的方式,如果需要打开,可以点击Android    Studio导航栏 →File→Settings→Build,    Execution,    Deployment→Gradle,进行配置更改。

4 .gitignore:

这个文件是用来将指定的目录或文件排除在版本控制之外的,关于版本控制我们将在以后的章节中开始正式的学习。

5.build.gradle

这是项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的。稍后我们将会详 细分析gradle构建脚本中的具体内容。

6  gradle.properties

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

7 gradlew和gradlew.bat

这两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在Linux或Mac系统中 使用的,gradlew.bat是在Windows系统中使用的。

8 HelloWorld.iml

iml文件是所有IntelliJ    IDEA项目都会自动生成的一个文件(Android    Studio是基于IntelliJ IDEA开发的),用于标识这是一个IntelliJ    IDEA项目,我们不需要修改这个文件中的任何内 容。


9 local.properties

这个文件用于指定本机中的Android    SDK路径,通常内容都是自动生成的,我们并不需要修 改。除非你本机中的Android    SDK位置发生了变化,那么就将这个文件中的路径改成新的位 置即可。

10 settings.gradle

这个文件用于指定项目中所有引入的模块。由于HelloWorld项目中就只有一个app模块,因此该文件中也就只引入了app这一个模块。通常情况下模块的引入都是自动完成的,需要我 们手动去修改这个文件的场景可能比较少。

       现在我们的基本的目录结构算是介绍完了,我们发现大多数的目录中的内容都不需要我们去手动改动内容,只有app目录是我们开发工作的重点,下面我们就要详细的介绍一下app目录。

      展开我们的app目录,得到如下图所示的内容:

1 build

主要存放的一些在编译时自动生成的文件名,我们不需要关心

2 libs

如果你得项目中使用了第三方jar包,就需要的包第三方jar放在libs目录下,放在libs目录下的jar包都会自动构建到你的项目中去。

3    androidTest

此处是用来编写Android  Test测试用例的,可以对项目进行一些自动化测试。

4 main/java

毫无疑问的,这个目录就是我们的主要的工作目录,是放置我们所有java代码的地方

5 main/res

就是你项目中用到的所有图片,布局,字符串等资源都要存放在这个目录下,该文件夹下有很多的子目录,drawable是专门 存放

图片的,layout是存放布局文件的,字符串放在values目录下

6 AndroidManifest.xml

这是你整个Android项目的配置文件,你在程序中定义的所有四大组件都需要在这个文件里 注册,另外还可以在这个文件中给应用程序添加权限声明。由于这个文件以后会经常用 到,我们用到的时候再做详细说明。


7 test

此处是用来编写Unit    Test测试用例的,是对项目进行自动化测试的另一种方式。

8 .gitignore

这个文件用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层 的.gitignore文件类似。

9 app.iml

IntelliJ    IDEA项目自动生成的文件,我们不需要关心或修改这个文件中的内容。

10 build.gradle

这是app模块的gradle构建脚本,这个文件中会指定很多项目构建相关的配置,我们稍后将 会详细分析gradle构建脚本中的具体内容。

11 proguard-rules.pro

这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望 代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值