繁体   English   中英

未使用Android sqlite现有数据库

[英]Android sqlite existing database not used

我在玩Sqlite,但似乎找不到数据库...。它实际上归咎于表,但我不相信这一点。

 Error: android.database.sqlite.SQLiteException: no such table: food (code 1): , while compiling:  SELECT * FROM food

这是我的数据库:/data/data/com.haze.purple.foodorcars/databases/foods.db我已经用rootExplorer再次检查了此文件,并且文件在那里。 我也已经在Windows中下载了此db文件,并尝试了sqlite编辑器,并且可以找到餐桌上的食物....所以它必须是代码。

因此,我相信这是找不到文件的文件。 这是我的DatabaseHelper:

 public CarsOrFoodDatabaseHelper(Context appContext) {
    super(appContext, DATABASE_FILENAME, null, DB_VERS);
    this.context = appContext;
    DATABASE_FILENAME = context.getResources().getString(R.string.databasefile);
 }

我应该为dbhelper使用context还是applicationContext?

我可以在dbhelper中使用的实际文件和db路径打印出来吗?(愚蠢的问题可能是:)

上面的代码中的问题是您在调用super(...)方法后将DATABASE_FILENAME设置为其他值。 确保您的DATABASE_FILENAME将在构造函数之外初始化,或者在同一类中将其声明为静态最终字符串。

您的代码应如下所示。

static final String DATABASE_FILENAME="foods";

public CarsOrFoodDatabaseHelper(Context appContext) {
    super(appContext, DATABASE_FILENAME, null, DB_VERS);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM