Android客户端第二讲笔记|青训营笔记

101 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第二天。这篇笔记主要是对安卓客户端第二节课的记录。


笔记:Android客户端第二讲:Android常用组件

Android基础组件

1.1界面组件

Activity

界面容器。

作用:前台交互,程序入口,布局容器

基本用法:

注册->布局->绑定

生命周期:

onCreate():创建时回调,一般在此处创建视图和绑定数据

onStart():已启动,即将进入前台

onResume():与用户开始交互,位于Activity栈顶

onPause():Actvity失去焦点或已暂停,Activity界面部分可见,下一个生命周期是onResume()onStop()

onStop():Activity不再可见,下一个回调是onRestart()onDestory()

onRestart():重启已停止的Activity,下一个回调是onStart()

onDestory():销毁Actvity,释放该Activity的所有资源

onSaveInstanceState():在非正常关闭时回调,用于保存数据,不支持持久化数据

onRestoreInstanceState()/onCreate():用于恢复数据

解决电话crash问题:

原因:页面被回收导致本地变量置空

解决:

1.添加判空逻辑避免空指针问题

2.在页面回收周期中存储数据,页面重建时进行恢复,onSaveInstanceState()中写入需要保存的数据,onRestoreInstaneState()进行数据恢复。

启动模式

standard:默认模式,允许Activity重复

singleTop:栈顶复用,不允许Activity连续重复

singleTask:栈内复用,不允许Activity同个栈内重复

singleInstance:全局复用,整个系统不允许Activity重复

Fragment

解决页面碎片化问题,速度快

基本用法:

1.创建Fragment布局文件

2.创建Fragment子类,加载布局文件

3.Activity加载Fragment

3.1静态加载:布局中绑定

3.2动态加载:FragmentManager加载

生命周期:

onAttach() Fragment 和 Activity 建立关联时调用

onCreateView() 当Fragment 创建视图时调用

onActivityCreated() 在相关联的 Activity 的 onCreate() 方法已返回时调用。

onDestroyView() 当Fragment中的视图被移除时调用

onDetach() 当Fragment 和 Activity 取消关联时调用。

与Activity交互:

组件获取:getActivity() FragmentManager.findFragmentById()

数据传递:setArguments(),直接传递,异步传递

Service

基本用法:

注册->创建->加载

生命周期:

onStart() onBind() onCreate() onDestory()

基本用法

静态广播:注册->创建->发送->接收

动态广播:注册

ContentProvider

做数据通信

基本用法

生产者:注册->创建

消费者:声明->使用

Intent

表达意图

Context.startActivity(Intent) Context.startService(Intent) Context.startBroadcast(Intent)

基本用法

显式Intent,隐式Intent

1.2通信组件

Handler

线程通信

基本用法

创建->构造Message->发送->处理

Binder

进程间通信

基本用法

服务端:定义AIDL文件;描述接口,编写service;如果有实体类则提供(jar包形式)

客户端:拿到AIDL文件;绑定服务,获得接口持有对象


总结

今天对安卓开发的基本组件和通信组件有了一定的了解,为接下来的安卓开发打下了坚实的基础。