我正在使用loopj发布一些数据。一切正常,但我有一些问题:
处理没有互联网连接的情况有什么好方法?目前我只是在一段时间后重试但是这样,我必须在本地存储数据,因为如果用户关闭应用程序甚至关闭他的设备,数据将不会被发送。也许这是唯一的方式,或者你知道另一种方式吗?
当我发布一些数据并且连接不好时,它有时会停止。 loopj是否有某种超时?你怎么能改变它?你怎么知道它没有提交?
我只需要一种非常稳定的方式来发布数据。您是否建议使用除loopj之外的其他库?
答案 0 :(得分:1)
可靠传输数据的方法:
来自AsyncHttpClient类:
private static final int DEFAULT_MAX_CONNECTIONS = 10;
private static final int DEFAULT_SOCKET_TIMEOUT = 10 * 1000;
private static final int DEFAULT_MAX_RETRIES = 5;
private static final int DEFAULT_SOCKET_BUFFER_SIZE = 8192;
答案 1 :(得分:0)
你可以在失败时覆盖onFailure(),并处理那里的情况。
@Override
public void onFailure(Throwable e) {
Log.d(TAG, e.toString());
}
是的,AsyncHttpClient中存在超时,默认为10秒。您可以按setTimeout(int)更改它。