Я новичок в разработке Android и в SO, я только начал пару месяцев назад. Вы, ребята, были огромной помощью до сих пор! Я использую столько внешних библиотек, сколько могу.
Я использую Volley и JSONObject, чтобы сделать запрос GET на сервер. Проблема в
W/dalvikvm﹕ threadid=1: поток завершается с необработанным исключением (группа=0x40a6c9d8)
выбрасывается, и я получаю NPE при попытке использовать объект из ответа.
Этого не происходит в других случаях, когда я использую JSONObjectRequest, только в этот раз. Я исследовал и нашел кое-что о поле android:name в теге приложения внутри AndroidManifest.xml. Я не думаю, что это все.
Я подозреваю, что речь идет о том, чтобы сделать запрос в другом потоке, но почему это не происходит в других случаях...?
Ну, мой logcat и код ниже. Помогите мне, пожалуйста!!!
logcat:
07-16 02:01:37.466 22635-22635/com.revmob.android.setup W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40a6c9d8)
07-16 02:01:37.476 22635-22635/com.revmob.android.setup E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.revmob.android.setup/com.pubmobile.ellow.Controller.Main.MatchFragment.MatchRequestActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1975)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2000)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4443)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.pubmobile.ellow.Controller.Main.MatchFragment.MatchRequestActivity.onCreate(MatchRequestActivity.java:109)
at android.app.Activity.performCreate(Activity.java:4668)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1939)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2000)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4443)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
Мой код: MatchRequestActivity.java
String url = Constants.URL_SERVER;
JsonObjectRequest getMatchRequest = new JsonObjectRequest(com.android.volley.Request.Method.GET, url, new com.android.volley.Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
if(response != null) {
System.out.println(response);
} else{
System.out.println("null Response from getMatchRequest");
}
}
}, new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("no Response from getMatchRequest");
}
});
RequestQueueManager.getInstance(this).addToRequestQueue(getMatchRequest);
Что у меня есть сейчас:
Хотя мой сервер отлично отправляет ответ, мой код даже не вводит onResponse() и выдает ошибку. Тогда NPE из-за отсутствия ответа.