I am using Gson to Map data into ArrayList. It's working fine while running app on device or in debug mode but it is not mapping data in Production Mode APK. Here is the Code
Const.courses = new ArrayList<>();
Log.v("Courses",object.toString());
Type type = new TypeToken<ArrayList<Course>>() {
}.getType();
if(object != null && object.has("data") ){
try {
if(object.get("data") != null && object.getJSONArray("data").length()>0) {
Const.courses.clear();
Const.courses = new GsonBuilder().create().fromJson(object.getJSONArray("data").toString(), type);
Log.d("Course from Array",Const.courses.get(0).getTitle());
adapter = new CourseAdapter(getApplicationContext(), R.layout.course_row_layout, Const.courses);
listView.setDivider(new ColorDrawable(ContextCompat.getColor(getApplicationContext(), android.R.color.transparent)));
listView.setAdapter(adapter);
}else{
tvSelectCourse.setVisibility(View.GONE);
tvNoCourse.setVisibility(View.VISIBLE);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
Here is The Logcat. Any help will be Appreciated.
02-16 23:30:57.836 1234-1234/? V/Courses: {"contentEncoding":null,"contentType":null,"data":[{"id":1,"title":"course Updated"},{"id":12,"title":"Arabic"},{"id":13,"title":"usman"},{"id":14,"title":"really "},{"id":15,"title":"urdu"},{"id":17,"title":"abc"},{"id":21,"title":"course"},{"id":22,"title":"Ali don"},{"id":24,"title":"umair"},{"id":25,"title":"math"},{"id":27,"title":"world"},{"id":28,"title":"wether"},{"id":33,"title":"computer Science "},{"id":34,"title":"cs"},{"id":37,"title":"maths"},{"id":38,"title":"hello"},{"id":39,"title":"course Updated"},{"id":42,"title":"for testing purpose"}],"jsonRequestBehavior":0,"maxJsonLength":null,"recursionLimit":null}
02-16 23:30:57.852 1234-1234/? D/AndroidRuntime: Shutting down VM
02-16 23:30:57.859 1234-1234/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.umer.doratiteacher, PID: 1234
java.lang.NullPointerException: println needs a message
at android.util.Log.println_native(Native Method)
at android.util.Log.d(Log.java:139)
at com.umer.doratiteacher.MainActivity$3.a(Unknown Source)
at com.umer.doratiteacher.d.a$3.a(Unknown Source)
at com.umer.doratiteacher.d.a$3.a(Unknown Source)
at com.a.a.a.i.a(Unknown Source)
at com.a.a.e$a.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:234)
at android.app.ActivityThread.main(ActivityThread.java:5526)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)