-1

我正在开发一个 Android 应用程序作为云网络服务的客户端。在登录屏幕中,我以 JSON 格式下载了大量数据,例如联系人列表和文件夹列表(只有名称和某些功能,不包括包含的文件)。在对此 JSON 进行反序列化后,我将联系人列表和文件夹列表存储在 .application 文件上的两个静态公共列表元素中,但在某些手机(如 Galaxy S3 和 Galaxy Note 2)中,当应用程序进入时在后台,他们保存活动,但不保存此数据列表,因此如果用户有时从后台返回,他发现应用程序的联系人列表为空或出现空指针异常,因为某些 phose 删除了此列表。为什么?有可能以其他方式保存它们吗?数据很复杂,因为一个联系人列表对象很复杂,创建一个数据库需要很多工作。

4

5 回答 5

1

这对您来说是一个很好的解决方案:http: //www.couchbase.com/communities/couchbase-lite

于 2013-11-04T14:25:55.217 回答
1

这是数据存储的文档。

数据存储

内部存储将是最简单的解决方案。并且符合要求。

于 2013-11-04T14:28:01.147 回答
0

我认为静态变量几乎是出于内存目的而被垃圾收集的第一件事,所以这就是你丢失这些数据的原因。在您的 onResume 方法中检查您的列表是否为空,是否再次启动下载任务。

于 2013-11-04T14:30:06.917 回答
0

如果您将来自云端的数据存储到数据库,那么您必须使用事务来安全地存储所有数据,然后再执行其他任务。请访问以下链接观看:http:
//developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#beginTransaction%28%29

于 2013-11-04T14:34:04.513 回答
0

我通常使用基于一个名为 Data Droid ( http://www.datadroidlib.com/ )的小项目的非常好的内容提供者方法。模式非常好,可重复使用!

于 2013-11-04T14:38:05.170 回答