我正在开发一个应用程序,它通过 JSON 在几乎每个 Activity 中同步不同的数据。这些数据可能会被其他设备操纵,所以我必须尽可能保持更新。
例如,在第一个 Activity 中我登录到 Web 服务,在下一个 Activity 中我使用 AsyncTask 下载一个 JSON,告诉我商店中的所有汽车型号,并使用该信息创建一个 ListView。单击一行,我调用另一个 AsyncTask 来下载关于那辆车的特定信息 (JSON),并获取例如关于它的轮胎的信息。在下一个活动中,我将调用另一个 AsyncTask 来获取有关这些轮胎的特定信息。大多数时候,在下一个 Activity 中使用的所需信息存储在 SharedPreferences 中,因为我不知道如何在整个应用程序中访问 ArrayList,而且我不知道它是否会占用大量 RAM。如果通过应用程序共享这么多对象是个好主意。
可以看到,每次我的 Activity 重新加载时,AsyncTask 都会检查连接并下载要显示的新数据。该服务不支持推送,所以我想我有责任每次都检查它,对吗?
要考虑的另一件事是可以更改下载的数据,在这种情况下,我必须上传 JSON,并相应地刷新视图。在这方面,我不知道如何保存连接断开时要上传的“更改”。比如,创建一个未同步任务的队列列表。
结果是一个严重依赖互联网连接的应用程序,每次恢复活动时都会感觉很慢。
在大多数情况下,我实例化了一个新的 ArrayList 对象(汽车、轮胎等),但是如果现在一切都是对象,我很困惑如何在 JSON 中正确同步数据。也许使用GJON?
我真的需要一些关于如何管理这样的应用程序的提示。
谢谢