Im новый для android, и я хочу создать CRUD с SQLite.
У меня есть public class DataBaseHelper
, у которого есть конструктор:
public DataBaseHelper(Context context)
{
this.context = context;
}
и геттер для базы данных:
public SQLiteDatabase getDataBase() {
if (dataBase == null) {
try {
dataBase = context.openOrCreateDatabase(DataBaseHelper.dbName,
Context.MODE_PRIVATE, null);
dataBase.execSQL("CREATE TABLE " + DataBaseHelper.accountTblName + " " +
"(ID integer PRIMARY KEY AUTOINCREMENT" +
",name TEXT" +
",address TEXT" +
",password TEXT)");
}
catch(Exception e) {
Log.e(context.toString(), e.getMessage());
if (dataBase != null) {
dataBase.close();
}
}
}
return dataBase;
}
Если я запускаю программу в первый раз - все, кажется, все в порядке. база данных равна null, и я ее создаю (со столом). Но когда я перезапускаю базу данных приложения, снова null и таблица не может быть создана.
Я решил написать функцию checkDB, которая пытается открыть базу данных. Но где я могу найти путь для этого? Я не хочу, чтобы он был "жестко запрограммирован".
Или может быть, я делаю какой-то анти-шаблон?