Android如何在整个应用程序中使数据保持一致

时间:2016-06-16 14:22:02

标签: java android performance android-fragments

我已经开发了2或3个Android应用程序,但在所有这些我面临同样的问题数据一致性,例如我有3个片段与片段寻呼机和TabLayout

第一个标签(片段)所有供稿列表---使用网络服务获取

第二个标签(片段)收藏的供稿列表---使用其他网络服务获取

第三个标签(片段)我自己的供稿列表---使用其他网络服务获取

问题是如何使数据保持一致,例如我已经从所有Feed列表中删除了一个我自己的Feed(第一个标签页)并通过交换移动到我自己的Feed列表(第三个标签页)然后删除的Feed不应该在此列表中。

那我怎么能管理这种情景呢?我是否需要重新加载其他片段中的所有数据,或者我可以在内部管理它请建议。

不是在解析自定义数组列表并显示它们的任何数据。

由于

2 个答案:

答案 0 :(得分:0)

  1. 使用sdcard文件
  2. 使用SharePreference(三个应用程序具有相同的签名密钥)
  3. 指定相同的符号键和相同的android:process,运行于 流程,直接分享数据
  4. 使用服务或ContentProvider保存您的perisist数据
  5. 使用系统设置(数据量小)
  6. sendStickyBroadcast& registerReceiver

答案 1 :(得分:0)

正如我现在所看到的那样,您获取3次部分相同的数据。确保所有收藏的Feed都包含所有Feed中的数据。也许我的Feed是本地Feed?

我建议以这种方式构建它:

对所有数据进行一次获取。这些数据可以按照以下结构构建为JSON

[
  {"feed_id":1,"date":"17-6-16","favorite":true, "owner":true},
  {"feed_id":2,"date":"17-6-16","favorite":true, "owner":true},
  {"feed_id":3,"date":"17-6-16","favorite":false, "owner":false}
]

这种方式你只需要从后端获取一次。如果这是不可能的。我建议将当前的三个提取合并到应用程序中的一个本地数据集中,这将导致与上面相同的结构。

现在您有一个数据集,确保所有列表都使用相同的数据集引用。含义tab1,tab2和tab3引用同一数据对象。现在,当您从其中一个选项卡中删除或更改数据时,由于它具有相同的引用,因此它也会将其从其他选项卡中删除。请确保在适配器中调用datasetchanged。