使用数据对象(DTO)更新片段的最佳实践?

时间:2013-07-25 01:01:11

标签: android

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

1 个答案:

答案 0 :(得分:1)

真的不是最好的做法"在Android中执行此操作的方法。有很多方法,其中很多都是有效的。

我的建议是创建一个service来跟踪数据中的变化并报告回需要它的片段。应该小心这一点,并确保服务仅在需要时才有效,否则我们可以获得耗尽电池的后台任务。

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

一旦接收者获得意图,就有3种可能的方法进行处理。

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

<强>更新


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