时间:2010-10-12 01:37:08

标签: android

如何更改android数据库存储路径?数据库存储的默认路径是/ data / data / databases,我想把它保存到SD卡,该怎么办?

3 个答案:

答案 0 :(得分:6)

这是一个古老的问题,但回答可能有助于其他人。

最简单的方法(仅适用于调试环境)是修改类的构造函数:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    MySQLiteOpenHelper(Context context) {
        super(context, "/mnt/sdcard/database_name.db", null, 0);
    }
}

请记住使用以下行更改生产环境:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    MySQLiteOpenHelper(Context context) {
        super(context, "database_name.db", null, 0);
    }
}

答案 1 :(得分:3)

SQLite的openDatabase()允许您为数据库提供位置。

但是,您应该使用Context.getExternalFilesDir()来查找SD卡的路径,而不是硬编码。该链接有一些很好的代码示例,您应该使用它们。

答案 2 :(得分:2)

您可以从任何地方放置和打开数据库,即

SQLiteDatabase.openDatabase("/sdcard/mydatabase.db", null, SQLiteDatabase.OPEN_READONLY);