基础理论
Note
作业的项目通常选第一个自行添加所有必须目录,防止出现未知的框架的异常,有时候其它会没有label。

Android系统结构由四层(或五层)结构构成,按从硬件到用户的顺序是Linux内核层、系统运行时库层(一说系统运行层和库层)、应用程序框架层和应用层。
是一款应用于移动设备的操作系统,其底层基础是Linux内阁,以Java作为主要语言。
四大组件
- Activity:具有可视化和可交互的界面
单个应用程序应该包含至少一个默认
Activity,这个默认的Activity会作为程序的打开入口,也是首页。
- Service:后台长期任务,但没有可视化界面
- Broadcast Receiver:广播接收器,用于接收和响应广播。
没有界面,但可以通过启动一个activity或service来响应收到的消息,或通过Notification Manager通知用户。
- Content Provider:标准数据共享机制,使得应用之间实现数据共享。
为存储、读取、删除数据提供了统一接口和数据访问方式。
开发环境
包括JDK,Android Studio,Android SDK和AVD(安卓虚拟机)。
Android软件运行流程
- 读取应用的build.gradle文件,获取应用编译的基本信息,如版本信息、设备版本要求等。
- 读取manifests/AndroidManifest.xml清单文件,设置应用图标、标签,找到入口Activity等。
- 找到对应的Activity文件,调用onCreate()方法。
- 找到对应的布局文件,并在界面上显示相关控件信息。
build.gradle文件结构
AndroidManifest.xml文件结构
<intent-filter>决定了当前应用的首页。
MainActivity.java文件结构
调试
可以使用Log类调试,输出信息在LogCat视图进行查看。或者,也可以使用断点调试。
Log类常用方法:

项目结构
- app
- manifests
- AndroidManifest.xml 清单文件
- java java源代码
- res 资源文件夹
- drawable用于存放xml图片
- layout 用于存放布局文件
- activity_main.xml
- mipmap 用于存放原生图片,图片需要按不同分辨率进行适配。启动图标必须放在此处。
- values 常量文件夹
- colors.xml 颜色常量
- dimens.xml 尺寸常量
- strings.xml 字符串常量
- styles.xml 样式常量 - Gradle Scripts 存放gradle脚本文件
资源
API文档:应用资源概览 | App architecture | Android Developers
资源的命名(标识符)仅允许使用小写字母、数字和下划线,不允许使用其它符号。
资源不能单独作为一个语句使用,需要作为某个方法的参数。
在java代码中使用资源:R.资源类名.资源标识符
在xml文件中引用资源:@[包名:]资源类名/资源标识符
图像(drawable)
可绘制资源,路径为res/drawable/,包括位图(PNG、.9.png、JPG或GIF),或可编译为以下可绘制资源子类型的xml文件:位图文件、九宫图(可调整大小的位图)、状态列表、形状、动画可绘制对象和其它可绘制对象。
可绘制资源文件必须直接放在该目录下,不能在该目录下新建文件夹,否则会无法识别。
-
在java文件中获取可绘制资源
Shape
一种xml格式的图像。允许设置以下标签:
solid:填充颜色padding:内容和边缘的边距corners:圆角radius:半径尺寸
gradient:渐变颜色、方向startColor/endColor:开始和结束的颜色
stroke:描边颜色、粗细size:尺寸
布局
xml文件,路径为res/layout/,通过R.layout调用。
在Activity文件的onCreat()方法中,使用setContentView()方法调用布局资源。
在Activity中使用资源
在onCreate()方法中调用setContentView(id resid)。
在java中使用资源
常量
常量,包括strings.xml(xml字符串文件)、colors.xml(xml颜色文件)和
string.xml
路径为res/valus/strings.xml,写在<string>标签对中,必填属性为name,其值是唯一的标识符。
在Java中获取字符串的方法:
colors.xml
值为由#开头的六位或八位十六进制,表示RGB或ARGB。
在java文件中获取颜色
在xml文件中获取颜色
dimens.xml
尺寸资源。非默认文件,需要自行创建。
其值必须带单位,包括px、pt等。
styles.xml
样式资源,能且仅能够在xml文件中定义样式,在java中的资源类名是style。
样式与样式之间可以继承。
在activity中引用样式
该方法要放在setContextView前,即一定要先设置主题再加载布局资源。
在xml中引用主题资源
如果作用在所有activity上:在AndroidManifest.xml的<application>属性上添加
作用在单个activity上:在相应的属性上添加。
如,对某个activity应用主题:
引用
统一使用R类访问资源,格式为R.资源类名.资源标识符,其中:
drawable和layout的资源标识符不含后缀。xml类的资源标识符通常为@资源类名/资源名,其中资源名为xml文件中,标签的name属性的值。