当与服务器的连接丢失时,在android上备份数据的最佳方法

时间:2013-09-09 11:30:28

标签: android sqlite

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

注1:数据全部是文本的,大小可以达到1.5 MB。此外,还有保存图像的计划。

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

最后,我要感谢你们所有人的合作

3 个答案:

答案 0 :(得分:4)

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

由于您的数据大小最高可达1.5 MB,因此您必须以简单的方式存储数据,以便在服务器可用连接时轻松检索存储的数据。

我也在android中使用了SQLite,我相信它将是你问题的最佳解决方案。

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

答案 1 :(得分: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

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

答案 2 :(得分:1)

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

您不希望在此实例中使用SharedPreferences。

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