在外部存储中创建数据库

Create database in External Storage

我已经知道如何创建 Sqlite 数据库了。重点是数据库文件仅在内部存储中创建 (/data/{package name})

有没有办法直接在外部存储上创建 Sqlite 数据库?

您可以像这样创建数据库:

private SQLiteDatabase db;
private yourPath = "/mnt/sdcard/";

private SQLiteDatabase db = openOrCreateDatabase(yourPath + "sudoku.db", Context.MODE_PRIVATE, null);

编辑 您的方法:

private static Cursor query(String query) {
    if (query != null) {
        openDB();

        while (db.isDbLockedByCurrentThread()) {
            // db in use, keep looping
        }

        Log.d("Query", query);

        return db.rawQuery(query, null);
    } else {
        return null;
    }
}

private static void openDB() {
    if (db == null) {
        db = SQLiteDatabase.openDatabase(yourPath + "sudoku.db", null, SQLiteDatabase.OPEN_READWRITE);
    }
}