Android7.0 Messaging源码分析(4) - DataModel篇

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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为例看一下它们的协作关系
  顺序图如下:
消息同步顺序图

  1. 同步工作从 BugleApplication 创建时发起;
  2. 依次执行 DataModel.immediateSync –>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值