0

I created a database named as memberInfo.db in android studio. but the file cannot be found in the device file explorer. I am using android studio 3.1.3. I attached a image of my device file explorer.

enter image description here

DBHelper.java class

public static final String DATABASE_NAME = "memberInfo.db";

public DBHelper(Context context) {
    super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
    String SQL_CREATE_ENTRIES = "CREATE TABLE " +
            MembersMaster.Members.TABLE_NAME + " (" +
            MembersMaster.Members.COLUMN_NAME_MEMBER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            MembersMaster.Members.COLUMN_NAME_FULLNAME + " TEXT," +
            MembersMaster.Members.COLUMN_NAME__ADDRESS + " TEXT," +
            MembersMaster.Members.COLUMN_NAME__PHONE + " TEXT," +
            MembersMaster.Members.COLUMN_NAME__EMAIL + "TEXT," +
            MembersMaster.Members.COLUMN_NAME__BIRTHDATE + "TEXT)";

            sqLiteDatabase.execSQL(SQL_CREATE_ENTRIES);

}


@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}
}

MembersMaster.java class

package com.heisenberg.librarywiz;

import android.provider.BaseColumns;

public final class MembersMaster {

private MembersMaster() {};

public static class Members implements BaseColumns{

    public static final String TABLE_NAME = "members";
    public static final String COLUMN_NAME_MEMBER_ID = "memId";
    public static final String COLUMN_NAME_FULLNAME = "fullname";
    public static final String COLUMN_NAME__ADDRESS ="address";
    public static final String COLUMN_NAME__PHONE ="phone";
    public static final String COLUMN_NAME__EMAIL ="email";
    public static final String COLUMN_NAME__BIRTHDATE ="birthdate";

}

}
Phantômaxx
  • 37,901
  • 21
  • 84
  • 115

1 Answers1

0

try this in SQL_CREATE_ENTIRES:

String SQL_CREATE_ENTRIES = "CREATE TABLE " +
        MembersMaster.Members.TABLE_NAME + " (" +
        MembersMaster.Members.COLUMN_NAME_MEMBER_ID + " INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, " +
        MembersMaster.Members.COLUMN_NAME_FULLNAME + " TEXT, " +
        MembersMaster.Members.COLUMN_NAME__ADDRESS + " TEXT, " +
        MembersMaster.Members.COLUMN_NAME__PHONE + " TEXT, " +
        MembersMaster.Members.COLUMN_NAME__EMAIL + "TEXT, " +
        MembersMaster.Members.COLUMN_NAME__BIRTHDATE + "TEXT);";

You left semicolon at the end of expression.

Another tip:

public static class Members implements BaseColumns{

public static final String TABLE_NAME = "members";
public static final String COLUMN_NAME_MEMBER_ID = BaseColumns._ID; // if you implement BaseColumns, the table IS should use this
public static final String COLUMN_NAME_FULLNAME = "fullname";
public static final String COLUMN_NAME__ADDRESS ="address";
public static final String COLUMN_NAME__PHONE ="phone";
public static final String COLUMN_NAME__EMAIL ="email";
public static final String COLUMN_NAME__BIRTHDATE ="birthdate";

}

For db name try to use only lowercase letters like "member_info.db". The db should be created in the following directory: /data/data/your_package_name/databases/member_info.db Please let me know if it works (or not...)

Csongi77
  • 329
  • 3
  • 13
  • it does not fix the issue...still no database file found...anyway thank you –  Sep 23 '18 at 06:32
  • still no file found.. i cheked in device file explorer -> data -> app -> myprojectpackagename -> android -> databse folder. And In the path menthioned by you it says "run-as: Package 'myPackageName' is unknown' "...please take a look...thank you –  Sep 23 '18 at 07:07
  • Not explorer -> data -> app ... but _explorer->data->data->myprojectpackage->databases_ folder! And one more thing: **unless you don't call at least one time 'dbHelper.getReadableDatabase();' or another DBHelper method from your Activity, your database won't be created**! – Csongi77 Sep 23 '18 at 08:40