я получаю следующую ошибку при попытке отладки приложения, приложение работает без cra sh, но не может загрузить другое местоположение на карте,
W/System.err: org.json.JSONException: Index 0 out of range [0..0)
W/System.err: at org.json.JSONArray.get(JSONArray.java:295)
at org.json.JSONArray.getJSONObject(JSONArray.java:523)
W/System.err: at praneeth.dev.androidpolorserver.TrackingOrder$1.onResponse(TrackingOrder.java:138)
W/System.err: at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0$DefaultCallAdapterFactory$ExecutorCallbackCall$1(DefaultCallAdapterFactory.java:82)
at retrofit2.-
W/System.err: at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
W/System.err: at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7682)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
W/System.err: Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
W/System.err: at java.util.ArrayList.get(ArrayList.java:437)
at org.json.JSONArray.get(JSONArray.java:289)
... 11 more
это мой код onResponse,
public void onResponse(Call<String> call, Response<String> response) {
try {
JSONObject jsonObject = new JSONObject(response.body().toString());
String lat = ((JSONArray)jsonObject.get("results"))
.getJSONObject(0)
.getJSONObject("geometry")
.getJSONObject("location")
.get("lat").toString();
String lng = ((JSONArray)jsonObject.get("results"))
.getJSONObject(0)
.getJSONObject("geometry")
.getJSONObject("location")
.get("lng").toString();
LatLng orderLocation = new LatLng(Double.parseDouble(lat),Double.parseDouble(lng));
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.foodagent);
bitmap = Common.scaledBitmap(bitmap,70,70);
MarkerOptions marker = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(bitmap))
.title("Order of "+Common.currentRequest.getPhone())
.position(orderLocation);
mMap.addMarker(marker);
mService.getDirections(yourLocation.latitude+","+yourLocation.longitude,
orderLocation.latitude+","+orderLocation.longitude,"API_CODE")
.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
new ParseTask().execute(response.body().toString());
}
@Override
public void onFailure(Call<String> call, Throwable t) {
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
вызов toString () также является избыточным, может ли кто-нибудь помочь мне решить эту проблему. я застрял в этом в течение нескольких дней