-1

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) 

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Hendry
  • 1
  • 1

1 Answers1

1

Create your DatabaseHelper before using it as such:

myDb = new DatabaseHelper();
Orkun Kocyigit
  • 1,137
  • 10
  • 21