Android - 将数据发送到Web服务

时间:2015-05-27 09:44:41

标签: android android-service android-volley android-intentservice

我即将编写一个应用程序,通过发布请求将数据发送到服务器。这些请求可能会失败,如果他们这样做,我希望在连接重新联机时发送它们。

实现此行为的最佳方法是什么?

修改 我已经阅读了一些文章并提出了以下想法。我在清单中注册了一个BroadcastReceiver并告诉它监听android.net.conn.CONNECTIVITY_CHANGE和android.net.wifi.WIFI_STATE_CHANGED。当请求无法发送时,我存储请求。如果连接变为活动状态,那么我将发送缓存的请求。

2 个答案:

答案 0 :(得分:1)

  

实现此行为的最佳方法是什么?

Volley发出bound Service次请求,如果结果仍在前台,则将结果发回Activity

修改

  如果用户决定关闭应用程序,

不会出现问题吗?

完全为什么需要使用Service。如果您从Activity执行此操作,即使Activity被解除,请求仍会继续。如果您的Volley请求表示为匿名类实例,它将继续保留对外部Activity类的隐式引用,这会导致内存泄漏/异常。

答案 1 :(得分:0)

使用处理程序或服务连续检查Internet连接,如果它是将数据发送到服务器,否则不要发送。