我是 android 新手,我想用 SQLite 创建一种 CRUD。
我有一个 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;
}
如果我是第一次启动一个程序 - 一切似乎都很好。数据库为空,我创建它(使用表)。但是当我重新启动时,我的应用程序数据库再次为空,并且无法创建表。
我决定编写一个 checkDB 函数,它试图打开一个数据库。但是我在哪里可以找到它的路径?我不希望它被“硬编码”。
或者我可能在做某种反模式?
最佳答案
您可以通过context.getDatabasePath(DataBaseHelper.dbName)
关于android - 获取数据库路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9810430/