这是我参与「第四届青训营 」笔记创作活动的的第2天
Android 常用组件
认知方法
what 、 why 、 how
什么是程序
开发者视角
用户视角
01 基础组件
1.1 界面组件 Activity & Fragment
1.1.1 Activity
1.1.2 为什么需要Activity?
- 前台交互
- 程序入口
- 布局容器
1.1.3 一个需求 —— 图片浏览器
原型图
1.1.5 Activity基本用法
注册 → 布局 → 绑定
1.1.6 Activity 生命周期
配置改变
1.1.7 Activity生命周期小结
解决接电话Crash问题
问题原因:页面被回收导致本地变量被置空
问题解决:
- 添加判空逻辑避免空指针问题
- 在页面回收生命周期中储存数据,页面重建时进行恢复onSaveInstanceState()中写入需要保存的数据,onRestoreInstanceState()进行数据恢复
1.1.8 Activity启动模式
- standard
默认模式,允许重复
- singleTop
不允许连续重复
- singleTask
不允许同个栈内重复
- singleInstance
整个系统不允许重复
1.1.9 Activity启动模式小结
1.2 Fragment
1.2.1 为什么需要Fragment
→ 碎片化 and 速度快
1.2.2 Fragment基本用法
1.2.3 Fragment生命周期
1.2.4 Fragment与Activity交互
1.2.5 Fragment总结
1.3 服务组件 Service
1.3.1 Service 基本用法
注册 → 创建 → 加载
1.3.2 Service 生命周期
1.3.3 Service 与Activity通信
1.4 广播组件 Broadcast
1.4.1 Broadcast 基本用法
1.4.2 常用系统广播
1.5 数据组件 ContentProvider & ContentResolver
1.5.1 ContentProvider 基本用法
解决:扫描系统现有图片
1.6 Intent
1.6.1 intent基本用法
1.6.2 intent系统能力
1.7 基础组件总结
02 通信组件
2.1 Handler
2.1.1 Handler基本用法
2.1.2 Handler 核心原理
2.2 Binder
2.2.1 常用IPC方案对比
2.2.2 为什么不用共享内存
Linux的进程隔离
2.2.3 Binder 基本用法
2.2.4 Binder核心原理
2.2.5 App启动
2.3 通信组件总结
03. Android控件总结