1

我正在开发一个 android 应用程序,它将与所有项目的服务器进行通信。具体来说,android界面有很多字段,用户填写数据并将它们发送到服务器(带有Oracle后端的Glassfish)。我关心的是:当连接丢失时存储数据的最佳方式是什么,以便再次连接时,我可以将数据发送到服务器。

注 1:数据均为文本数据,大小可达 1.5 MB。此外,还有一个保存图像的计划。

注2:我知道SQLite,但这是最好的解决方案还是还有其他的?

最后,我要感谢大家的合作

4

3 回答 3

4

SQLite是一个很好的解决方案。

因为您的数据大小可以达到 1.5 MB,所以您必须以一种简单的方式存储您的数据,当服务器可以连接时,您可以轻松地检索存储的数据。

我还在 android 中使用过 SQLite,我相信这将是解决您问题的最佳方法。

有关更多比较,请参阅http://developer.android.com/guide/topics/data/data-storage.html

于 2013-09-09T11:35:44.840 回答
1

使用 SQLite 离线保存数据,如果数据发送到服务器,则清除表。最好的方法。

使用 SharedPreference 保存键(成功发送)和值(真/假)。
- 前任Save Data in DB >> Send data to Server >> Get Acknowledgement (if failed, resend till success) >> Update keys >> delete data in DB >> Repeat cycle

使用缓存/本地目录保存图片

于 2013-09-09T11:36:38.917 回答
1

您可以使用 SQLite 数据库,并让您的行包含一个 Synced 标记。如果同步失败,请使用 Synced = False 向数据库添加一行。当您稍后同步数据并获得成功的返回消息时,您可以将数据库中的行更新为 Synced = True(如果您计划离线缓存数据),或者如果您将表用作临时表,则只需删除该行店铺。

您不想在此实例中使用 SharedPreferences。

如果您打算使用数据库来保持与在线服务器同步的持久存储,您可能还希望查看以下内容:

于 2013-09-09T11:37:32.987 回答