关于收集 Android Telephony 网络信息的设计思考2

需求:

  • 目标1: Android Telephony data(数据模块)侧收集多源(ServiceStateTracker/ImsService/其他)网络状态信息。
  • 目标2: 收集的数据需统一上报/存储到外部App的Provider。
  • 字段分散,不方便只在ServiceStateTracker中收集和插入。
  • 多触发点/多场景,需要统一插入。

一、架构设计建议

1. 分层与模块解耦

建议整体分为三层:

  1. 数据收集层(各业务模块)
    • ServiceStateTracker、ImsService等各自以合适的方式将关键状态/事件上报
  2. 信息汇聚与中转层(统一收集Agent/Observer层)
    • 设计一个统一的NetworkStateCollector(或NetworkStatusAgent),负责接收所有上报,并构建好完整数据准备插入。
    • Collector 负责合并/关联不同来源片段,组装为一次“统一上报/存储单元”。
  3. 数据落地与存储层
    • Collector/Agent对外通过ContentProvider/ContentResolver接口完成数据插入。

好处

你可能感兴趣的:(#,Android,APP,#,Android,Telephony,自学笔记,Android,Telephony)