0

我的片段代表异步获取的动态信息。我对如何向片段提供 DAO/DTO 感兴趣。片段是否应该保持对 DTO 的引用?更新呢。它应该请求更新的 DTO 并成为这些异步调用的侦听器,还是请求活动发出请求,然后在异步响应到达时更新片段?

4

1 回答 1

1

在 Android 中并没有真正的“最佳实践”方式来做到这一点。有很多方法,其中许多是有效的。

我的建议是创建一个服务来跟踪数据的变化并向需要它的片段报告。应该小心这一点,并确保服务仅在需要时才处于活动状态,否则我们可以获得消耗电池电量的后台任务。

在片段可见时注册BroadcastReceiver的最简单方法(在 onResume 之后,在 onPause 中删除)。这就像您可以为清单中的活动设置的意图过滤器。这是一个很好的例子:http ://www.vogella.com/articles/AndroidBroadcastReceiver/article.htmlz

一旦接收者得到意图,就有 3 种可能的方式来进行。

  • 创建 DAO 并访问数据(可能有点慢)
  • 使用 ContentProvider 并接收发送给接收者的意图中的新项目
  • 如果您的数据是 Serializable 或 Parcelable,您可以将新数据添加到发送的 Intent。(可能是最快的)

更新


对于这种任务,我忘记提到了一个有用的工具:Loaders 它们提供了一种处理数据源(如内容提供者)的简单方法。

于 2013-07-25T01:15:04.553 回答