2014-05-13 39 views
1

我有一个应用程序,必须保存表单输入,而不是发送,如果没有网络连接。Android,解决方案/库存储HTTP请求等待网络连接

并且在手机连接后发送。

我想知道是否已经有一些代码来处理该功能。

否则,该解决方案将是sharedpreferences保存这样的:

1_inputA 
1_inputB 
2_inputA 
2_inputB 

你有什么其他的想法?

回答

1

我认为你可以做这样的:

  1. 创建一个将在后台所有的时间来运行Service
  2. 创建ArrayListSerealizable对象,每个对象保存大约要发送一个请求信息。
  3. Service创建每N分钟/秒的AlarmManager这将检查是否存在互联网连接。
  4. 用户输入数据输入表单后,还检查是否有互联网连接。如果不是,则只需将新对象添加到ArrayList并searelize(写入磁盘)ArrayList
  5. 如果有一个连接,您需要desearelize(从磁盘ArrayList读取),那么在那里添加最后一个输入数据并将其发送到服务器。
  6. 此外每N次你AlarmManager检查是否有interenet方面,它做同样的事情在写道。
+0

感谢您的解决方案,非常有趣,ArrayList的序列化。这是好的保存ArrayList像这样http://stackoverflow.com/questions/4118751/how-do-i-serialize-an-object-and-save-it-to-a-file-in-android? –

+0

是的,这是为了保存好办法,只是不要忘了对象,你会在ArrayList中存储“实现序列化” –