Ich versuche, über die Android-Async-http -Bibliothek in meiner App auf die Geocode-API von Google zuzugreifen. Hier ist meine Anfrage und unten ist die Antwort:

���������������UMo�0��WX> Ӫ i {���UJ� $ �J� m ߔ% � === ������� B�� R��} ��� # �4�.�d� {�� $ �b��D��V <�� <�����w * y�q���y5����o � �����

Hier ist die erfolgreiche Rückrufmethode von 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();
        }
    }
}

Warum bekomme ich die Antwort als Junk? Wie bekomme ich die richtige Antwort?

0
Santhosh 4 Jän. 2016 im 13:08

2 Antworten

Beste Antwort

Benutzt

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

Statt 1.4.5

0
Santhosh 7 Jän. 2016 im 06:33

Versuche dies :

   @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    
        }

Oder Sie möchten eine Antwortzeichenfolge erhalten:

 @Override
        public void onSuccess(int statusCode, Header[] headers, String responseString) {
            super.onSuccess(statusCode, headers, responseString);
        }
0
Quang Doan 4 Jän. 2016 im 10:39