我正在实施我的第一个 ContentProvider。由于我很缺乏经验,我想检查我的总体设计是否合理。
所以这些是我的要求:
- 提供原始数据的 Web 服务可能会每天更新一次它保存的数据。我可以检查这样的版本更改。
- 从应用程序的角度来看,数据是只读的(想想天气或股票数据)。
- 我已经有一个类可以从应用程序域中获取查询,将它们转换为匹配的 HTTP 请求并异步返回域对象。正如您可能猜到的那样,这就是应用程序当前用来直接从活动中获取数据的方式。
- 现在我想做得更好并使用 a
ContentProvider
在本地持久化数据。 - 应用程序每天会启动一次
Service
,检查服务器上的数据版本,并在需要时更新ContentProvider
.
以下是我想出的设计:
箭头表示数据流,而不是代码依赖性。
我注意到了,我忘了在上面添加一个层ContentProvider
来将 Cursors 转换为域对象,但是忽略这些细节,你认为这是ContentProvider
向应用程序架构添加 a 的合理方式吗?
任何意见是极大的赞赏!