1、XML
XML全称为Extensible Markup Language,即可扩展标记语言,严格地说,XML并非编程语言,只是一种标记语言。它类似于HTML,利用各种标签表达页面元素,以及各元素之间的层级关系及其排列组合。每个XML标签都是独立的控件对象,标签内部的属性以“android:”打头,表示这是标准的安卓属性,各属性分别代表控件的某种规格。比如下面是以XML书写的文本控件:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</LinearLayout>
2、res子目录
-
drawable目录存放图形描述文件与图片文件。
-
layout目录存放App页面的布局文件。
-
mipmap目录存放App的启动图标。
-
values目录存放一些常量定义文件,例如字符串常量strings.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等
3、gradle scripts配置文件
- build.gradle,该文件分为项目级与模块级两种,用于描述App工程的编译规则。
- proguard-rules.pro,该文件用于描述Java代码的混淆规则。
- gradle.properties,该文件用于配置编译工程的命令行参数,一般无须改动。
- settings.gradle,该文件配置了需要编译哪些模块。初始内容为include ‘:app’,表示只编译app模块。
- local.properties,项目的本地配置文件,它在工程编译时自动生成,用于描述开发者电脑的环境配置,包括SDK的本地路径、NDK的本地路径等。
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
jcenter()
}
}
4、View
在Android官方文档中是这么说的:这个类表示了用户界面的基本构建模块。一个View占用了屏幕上的一个矩形区域并且负责界面绘制和事件处理。View是用来构建用户界面组件(Button,Textfields等等)的基类。其实,说白了,View就是一个空白的矩形区域,类似于winform中的panel,swing开发中的JPanel,我们可以在这个空白的矩形区域内定义自己的控件。
5、Context
在实际操作中,无论创建哪种UI组件,都需要传入一个Context的参数,而Context是什么呢?在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创建View操作时等都需要Context的参与,可见Context的常见性。Context字面意思上下文,或者叫做场景,也就是用户与操作系统操作的一个过程,比如打电话,场景包括电话程序对应的界面,以及隐藏在背后的数据;Android系统的角度来理解:Context是一个场景,代表与操作系统的交互的一种过程。从程序的角度上来理解:Context是个抽象类,而Activity、Service、Application等都是该类的一个实现,因此,Activity、Service都可以直接作为Context使用。