我遇到了Android异步Http客户端(http://loopj.com/android-async-http/)的问题。 直到今天我使用了1.4.6版本和我的代码(见下面的工作没有问题)。
RestClient.get(MyUrl, null, new JsonHttpResponseHandler() {
@Override
public void onStart() {
Toast.makeText(getApplicationContext(), "START", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
Toast.makeText(getApplicationContext(), "OK", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
Toast.makeText(getApplicationContext(), "ERROR", Toast.LENGTH_SHORT).show();
}
});
RestClient就是这样:
public class RestClient {
private static final String BASE_URL = "http://www.example.com/action.php?";
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}
public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.post(getAbsoluteUrl(url), params, responseHandler);
}
private static String getAbsoluteUrl(String relativeUrl) {
return BASE_URL + relativeUrl;
}
}
将Android异步Http客户端库从1.4.6升级到1.4.9(最后一个)后,我得到错误"方法不会覆盖或实现超类型的方法"在Android Studio上关于onSuccess和onFailure方法。
关于什么是什么想法是图书馆的变化?我已阅读更改日志,但我找不到解决方案。感谢。
答案 0 :(得分:0)
这些方法的界面已经改变。你有: public void onSuccess(int statusCode,Header [] headers,JSONObject response)
public void onFailure(int statusCode,Header [] headers,String responseString,Throwable throwable)
更新的界面是: public void onSuccess(int statusCode,Header [] headers,byte [] response)
public void onFailure(int statusCode,Header [] headers,byte [] errorResponse,Throwable e)
看起来它已经从将String作为参数变为使用字节数组。可能是为了避免对字符串的编码做出假设。