i try to get data from my table in sqlite
DatabaseHelper.java
...
public Cursor getAllData() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from " + TABLE_NAME, null);
return res;
}
...
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Cursor ress = myDb.getPartData();
String[] id_pull = new String[ress.getCount()];
if (ress.getCount() == 0) {
int i = 0;
while (ress.moveToNext()) {
String uname = ress.getString(ress.getColumnIndex("ID"));
id_pull[i] = uname;
i++;
}
}else
{Toast.makeText(MainActivity.this, "ID not found", Toast.LENGTH_LONG).show();}
...
there is 4 record on my sqlite table, i try to get string data and push to array (id_pull) but when i run this app, the app force close. anyone can help fix my code :)
thanks
Log Verbose
11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: FATAL EXCEPTION: main 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: Process: com.app.example.sqliteapp, PID: 22191 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.example.sqliteapp/com.app.example.sqliteapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor com.app.example.sqliteapp.DatabaseHelper.getPartData()' on a null object reference 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2314) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.access$800(ActivityThread.java:148) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5312) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor com.app.example.sqliteapp.DatabaseHelper.getPartData()' on a null object reference 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at com.app.example.sqliteapp.MainActivity.onCreate(MainActivity.java:46) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5953) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.access$800(ActivityThread.java:148) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5312) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) 11-12 15:51:43.981 22191-22191/com.app.example.sqliteapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)