2013-07-25 41 views
0

我的片段代表异步获取的动态信息。我对如何提供DAO/DTO片段感兴趣。片段是否应该保留对DTO的引用?什么更新。它是否应该请求更新的DTO并成为这些异步调用的监听器,或者请求该活动发出请求,然后在异步响应到达时更新片段?用数据对象(DTO)更新片段的最佳实践?

回答

1

Android中没有真正的“最佳实践”方法。有很多方法,其中许多是有效的。

我的建议是创建一个service,用于跟踪数据的变化并回报给需要它的片段。应该小心这一点,并确保该服务仅在需要时才能启用,否则我们可能会得到耗尽电池的后台任务。

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

一旦接收者得到意图,就有三种可能的方式来处理。

  • 创建一个DAO和访问数据(可能有点慢)
  • 使用的ContentProvider和接收新项目在发送给接收器
  • 的意图。如果你的数据是序列化或Parcelable可以添加发送意图的新的新数据。 (可能是最快)

UPDATE


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