DataModelImpl 类里主要有下面几个成员:
- ActionService // 提供ActionService接口,可以用于桩测试;
- BackgroundWorker // action service 和它的 workers 间的接口;
- DatabaseHelper // 操作本地数据库(bugle_db)
- SyncManager // 使用Telephony SmsProvider/MmsProvider管理消息同步
- ConnectivityUtil // phone状态相关工具类
相关的类:
- ActionServiceImpl // 为 data model 提供后台处理操作
- BackgroundWorkerService // 实际“发送”消息的后台工作队列,这些消息可能花费一些时间并且不应该阻塞ActionService或者UI
- SyncMessagesAction // 将消息从 smsmms 数据库同步到本地数据库
类图如下:(主要是包含关系)
以SyncMessagesAction为例看一下它们的协作关系:
顺序图如下:
- 同步工作从 BugleApplication 创建时发起;
- 依次执行 DataModel.immediateSync –>

本文详细分析了Android7.0中Messaging应用的DataModel实现,重点探讨了DataModelImpl、ActionService、BackgroundWorker、DatabaseHelper、SyncManager等组件的协作关系。通过SyncMessagesAction的同步流程,展示了消息同步从BugleApplication初始化开始,经过一系列的调度和执行,最终在BackgroundWorkerService中完成后台操作的过程。
 - DataModel篇&spm=1001.2101.3001.5002&articleId=53186615&d=1&t=3&u=fe6d9c3e7d4b4f17af7f7125c4b304bf)
1277

被折叠的 条评论
为什么被折叠?



