MainActivity.java
public class MainActivity extends AppCompatActivity {
DbHelper dbHelper;
...
dbHelper = new DbHelper(this, 1, "garbage.db"); // I just only changed this 3rd argument so i think the problem is because of the db file itself not the code
try {
dbHelper.openDatabase();
} catch (Exception e) { // I got error here
e.printStackTrace();
}
try {
dbHelper.createDatabase();
} catch (Exception e) {
e.printStackTrace();
}
...
}
DbHelper.java
public class DbHelper extends CopyDatabase {
...
public DbHelper(Context context, int version, String databaseName) {
super(context, version, databaseName);
mcontext = context;
}
...
}
我只想在我的Assets文件夹中打开一个sqlite db文件,然后成功打开了我在互联网上找到的一个.db文件。
但是它没有包含我想要的确切数据,所以我只是尝试制作一个。
首先,我使用数据库浏览器工具来创建我的sqlite数据库文件。 我使用该工具执行查询并创建了一个.db文件。
然后我将其移至资产文件夹,并尝试仅通过更改DBhelper构造函数的第三个参数(即引用db文件的名称)来打开它。 但这没有用。 这是错误代码
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14 SQLITE_CANTOPEN): Could not open database
我认为可能是因为我使用数据库浏览器工具创建了我的db文件,所以我仅在shell脚本中使用sqlite3制作了一个文件,但效果不佳。
因此,我最后一次使用sqlite jdbc库进行了尝试,并使用eclipse创建了一个.db文件。
那没有用。
所以我被困在这里。
此问题的原因是什么?