Android - 将数据发送到 Web 服务
Android - sending data to a web service
我正准备编写一个应用程序,通过 post 请求将数据发送到服务器。这些请求可能会失败,如果失败,我希望在连接恢复在线时发送它们。
实现此行为的最佳方式是什么?
编辑
我已经阅读了一些文章并提出了以下想法。我在清单中注册了一个 BroadcastReceiver 并告诉它监听 android.net.conn.CONNECTIVITY_CHANGE 和 android.net.wifi.WIFI_STATE_CHANGED。当无法发送请求时,我会存储请求。如果连接变为活动状态,那么我将发送缓存的请求。
What is the best way to implement this behavior?
制作Volley requests from a bound Service
,如果Activity
还在前台,就把结果传回给Activity
。
编辑:
won't this be a problem if the user decides to close the application?
这就是 您需要使用 Service
的原因。如果您从 Activity
执行此操作,即使 Activity
被取消,请求也会继续。如果您的 Volley
请求表示为匿名 class 实例,它会继续持有对外部 Activity
class 的隐式引用,这会导致内存泄漏/异常。
使用 Handler 或服务持续检查您的 Internet 连接,如果是,则将数据发送到服务器,否则不要发送。
我正准备编写一个应用程序,通过 post 请求将数据发送到服务器。这些请求可能会失败,如果失败,我希望在连接恢复在线时发送它们。
实现此行为的最佳方式是什么?
编辑 我已经阅读了一些文章并提出了以下想法。我在清单中注册了一个 BroadcastReceiver 并告诉它监听 android.net.conn.CONNECTIVITY_CHANGE 和 android.net.wifi.WIFI_STATE_CHANGED。当无法发送请求时,我会存储请求。如果连接变为活动状态,那么我将发送缓存的请求。
What is the best way to implement this behavior?
制作Volley requests from a bound Service
,如果Activity
还在前台,就把结果传回给Activity
。
编辑:
won't this be a problem if the user decides to close the application?
这就是 您需要使用 Service
的原因。如果您从 Activity
执行此操作,即使 Activity
被取消,请求也会继续。如果您的 Volley
请求表示为匿名 class 实例,它会继续持有对外部 Activity
class 的隐式引用,这会导致内存泄漏/异常。
使用 Handler 或服务持续检查您的 Internet 连接,如果是,则将数据发送到服务器,否则不要发送。