2017-02-13 34 views
0

So habe ich die JSONException (API-Abfrage), aber nur wenn ich die App auf einem Emulator (auf verschiedenen virtuellen Geräten, verschiedene APIs). Das Problem existiert nur mit einer Abfrage. Wenn ich dieselben Daten an einem anderen Ort der App anrufe, funktioniert es. Auf einem physischen Gerät funktioniert es einwandfrei. Die Frage ist, was kann die Ursache für diesen Fehler auf einem Emulator sein und wenn ich mich kümmern sollte?org.json.JSONException: Kein Wert für Daten: nur Emulator, funktioniert auf physischem Gerät

Android Studio: 2.2.3

Fehler:

E/EGL_emulation: tid 2936: eglSurfaceAttrib (1165): Fehler 0x3009 (EGL_BAD_MATCH) E/QueryUtils: Problem Parsen der Stadt JSON Ergebnisse org .json.JSONException: Kein Wert für die Daten bei org.json.JSONObject.get (JSONObject.java:389) bei org.json.JSONObject.getJSONObject (JSONObject.java:609) bei com.mobileallin.polskiesmogi.QueryUtils .extractFeatureFromJson (QueryUtils.java:171) bei com.mobileallin.polskie smogi.QueryUtils.fetchcityData (QueryUtils.java:58) bei com.mobileallin.polskiesmogi.CityLoader.loadInBackground (CityLoader.java:54) bei com.mobileallin.polskiesmogi.CityLoader.loadInBackground (CityLoader.java:16) bei android.content.AsyncTaskLoader.onLoadInBackground (AsyncTaskLoader.java:312) bei android.content.AsyncTaskLoader $ LoadTask.doInBackground (AsyncTaskLoader.java:69) bei android.content.AsyncTaskLoader $ LoadTask.doInBackground (AsyncTaskLoader.java:66) bei android.os.AsyncTask $ 2.call (AsyncTask.java:295) bei java.util.concurrent.FutureTask.run (FutureTask.java:237) bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java : 1113) bei java.util.concurrent .ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:588) bei java.lang.Thread.run (Thread.java:818)

+0

fügen Sie das Fehlerprotokoll und und Emulator Android-Version hinzu –

Antwort

0

Ok, also die Ursache des Problems war sehr dumm - ich war die Einreichung der Abfrage auf dem Emulator durch Drücken von Enter auf der Tastatur (Suchfunktion). Es scheint, dass das Drücken der Eingabetaste die onQueryTextSubmit-Methode nicht richtig auf einem Emulator auslöst. Sie müssen auf die Schaltfläche "Senden" im Emulator klicken.

Verwandte Themen