标签:视图 测试用例 parent tle 引用 文字 intent highlight 第三方
Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver) 和内容提供器(Content Provider)。其中活动是所有Android应用程序的门面, 凡是在应用中你看得到的东西,都是放在活动中的。而服务就比较低调了,你无法看到它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播接收器允许你的应用接收来自各处的广播消息, 比如电话、 短信等,当然你的应用同样也可以向外发出广播消息。内容提供器则为应用程序之间共享数据提供了可能, 比如你想要读取系统电话簿中的联系人,就需要通过内容提供器来实现。
.gradle和.idea
这两个目录放置的是Android studio自动生成的文件,不需要关心
app
该目录存放了项目中的代码、资源等内容,开发工作基本都在这个目录下进行
build
该目录包含了一些在编译时自动生成的文件。
gradle
该目录下包含gradle wrapper 的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是自动根据本地缓存情况决定是否联网下载。Android studio默认不启用gradle wrapper,但可以点击Android Studio导航栏→File→Settings→Build, Execution, Deployment→Gradle, 进行配置更改。
.gitignore
用于排除指定目录或文件在版本控制之外
build.gradle
项目全局的gradle构建脚本,这个文件的内容一般不用修改
gradle.properties
全局的gradle配置文件,在这里配置的属性会影响到项目中所有的gradle编译脚本。
gradlew和gradle.bat
这两个文件用来在命令行中执行gradle命令,其中gradlew’在Linux或Mac系统中使用,gradle.bat在Windows系统中使用(批处理脚本)。
HelloWorld.iml
iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件,用于标识
local.properties
这个文件用于指定本机中的Android SDK路径,通常内容都是自动生成的,不用修改,除非本机的Android SDK位置变化。
settings.gradle
这个文件用于指定项目中所有引入的模块。由于HelloWorld项目中就只有一个app模块, 因此该文件中也就只引入了app这一个模块。 通常情况下模块的引入都是自动完成的, 需要我
们手动去修改这个文件的场景可能比较少。
build
主要包含了一些在编译时自动生成的文件
libs
如果项目中使用到了第三方jar包, 就需要把这些jar包都放在libs目录下,放在这个目录下的jar包都会被自动添加到构建路径里去。
androidTest
此处用于编写Android Test测试用例,可以对项目进行自动化测试。
java
放置Java代码
res
该目录包括项目中所有的图片、布局、字符串等资源,图片放在drawable目录下, 布局放在layout目录下, 字符串放在values目录下
AndroidManifest.xml
这是你整个Android项目的配置文件,在程序中定义的所有四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明。
test
用于编写Unit Test测试用例,是对项目进行自动化测试的另一种方式
.gitignore
这个文件用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似。
app.iml
IntelliJ IDEA项目自动生成的文件
build.gradle
这是app模块的gradle构建脚本, 这个文件中会指定很多项目构建相关的配置
proguard-rules.pro
这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读。
为了了解新建的HelloWorld项目是如何运行的,首先要对AndroidManifest.xml文件进行初步的分析。
首先,AndroidManifest.xml文件是一个配置文件,四大组件都需要先在此声明、注册了才能正常启用。
打开AndroidManifest.xml文件,可以看到如下代码:
1 | <activity android:name=".MainActivity"& 大专栏 Android学习(1)gt; |
这段代码表示对MainActivity这个活动进行注册,其中intent-filter里的两行代码中:
1 | <action android:name="android.intent.action.MAIN" /> |
表示MainActivity是这个项目的主活动,在手机上点击应用图标,首先启动的就是这个活动。
1 | public class MainActivity extends AppCompatActivity { |
MainActivity是继承自AppCompatActivity的,这是一种向下兼容的Activity,可以将Activity在各个系统版本中增加的特性和功能最低兼容到Android2.1系统。
MainActivity中只有一个onCreate()方法,这个该方法在活动被创建时一定要执行。
但是可以看到这两行代码中并没有Hello World!
字样
这是因为Android程序的设计讲究逻辑和视图分离,因此一般是在布局文件中编写界面,然后在活动中引入进来。
在onCreate()方法中,使用的setContentView()方法,这个方法给当前活动引入了一个activity_main
的布局。
1 | <TextView |
打开activity_main后可以发现,这里有一个textview。这是Android系统提供的一个控件,用于在布局中显示文字。
打开res/values/strings.xml文件,内容如下:
1 | <resources> |
这里定义了一个应用程序名的字符串,可以使用两种方式来引用它。
如果是图片资源就换成drawable,如果引用图标就换成mipmap,布局文件就换成layout
一个例子,打开AndroidManifest.xml文件,如下:
1 | <application |
标签:视图 测试用例 parent tle 引用 文字 intent highlight 第三方
原文地址:https://www.cnblogs.com/lijianming180/p/12366652.html