在我的应用程序中,我正在创建一个可以检索值的数据库(如果存储)。但在运行应用程序时显示错误android.database.sqlite.SQLiteCantOpenDatabaseException: Could not open database
。
这是代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
// Creating Database
SQLiteDatabase dtbase = openOrCreateDatabase("/data/data/com.example.students/databases/ListDB", SQLiteDatabase.CREATE_IF_NECESSARY, null );
dtbase.setVersion(1);
dtbase.setLockingEnabled(true);
dtbase.close();
}
答案 0 :(得分:3)
您可以在不提供相对路径的情况下访问数据库。
只需使用数据库名称ListDB
,而不是使用"/data/data/com.example.students/databases/ListDB"
。
赞openOrCreateDatabase("ListDB", SQLiteDatabase.CREATE_IF_NECESSARY, null );
它将数据库ListDB指向/data/data/com.example.students/databases/
是的,正如laalto所说,您应该考虑扩展SQLiteOpenHelper来管理您的数据库。您当前的方法不是一个好方法。例如,请阅读Android SQLite Database Tutorial。