使用针对Android

时间:2016-01-04 10:08:36

标签: android android-async-http

我正在尝试使用我的应用中的Android-Async-http库访问Google的地理编码API。 Here是我的要求,下面是回复:

UMo 0 WX>Ӫi { UJ $ J 米ߔ%=== BR}#4.D {$ BDV<< w*y q y5 o

这是AsyncHttpResponseHandler的成功回调方法。

@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
    if (statusCode == HttpStatus.SC_OK) {
        try {
            String response = new String(responseBody);
            //String response = new String(responseBody, "UTF-8"); //this is also giving junk reponse
            Log.v("SUCCESS RESPONSE", response);
            networkCallback.onSuccess(response);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

为什么我的回复是垃圾?我如何得到适当的回应?

2 个答案:

答案 0 :(得分:0)

试试这个:

   @Override
        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
            super.onSuccess(statusCode, headers, response);
            MyLog.log(TAG, response.toString());
            // if is Jsonobjec     
            }

 @Override
        public void onSuccess(int statusCode, Header[] headers, JSONArray response) {
            super.onSuccess(statusCode, headers, response);
             MyLog.log(TAG, response.toString());
            // if is JsonArray    
        }

或者你想获得响应字符串:

 @Override
        public void onSuccess(int statusCode, Header[] headers, String responseString) {
            super.onSuccess(statusCode, headers, responseString);
        }

答案 1 :(得分:0)

使用

 compile 'com.loopj.android:android-async-http:1.4.9' 

而不是1.4.5