在Android 10上,由于应用沙箱限制,应用无法访问或写入外部存储根目录。因此,为了在Documents目录下创建SQLite数据库,需要使用以下代码:
private void createDB() {
//创建Document文件夹
File docsFolder = new File(getExternalStorageDirectory() + "/Documents");
if (!docsFolder.exists()) {
docsFolder.mkdir();
}
//创建SQLite文件
File dbFile = new File(docsFolder.getAbsolutePath(), "mydatabase.db");
if (!dbFile.exists()) {
try {
dbFile.createNewFile();
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbFile, null);
db.execSQL("CREATE TABLE mytable(_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT)");
db.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
需要注意的是,无论您使用哪种方法来创建数据库,都要确保在对其读取或写入之前使用正确的权限请求。