我想在 sdcard 中创建我的 sqlite 数据库而不是默认路径...我也想从 sdcard 访问我的所有数据
我已经使用过这段代码:
private static class OpenHelper extends SQLiteOpenHelper {
OpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
SQLiteDatabase.openOrCreateDatabase("/sdcard/"+DATABASE_NAME,null);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "
+ TABLE_NAME
+ " (id INTEGER PRIMARY KEY, name TEXT, number TEXT, skypeId TEXT, address TEXT, image BLOB)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
Problem:
当我在默认路径中看到数据库文件时,我可以看到所有数据
和表,但是当我看到在 SD 卡中创建的数据库文件时
不显示任何数据,但仅显示数据库文件
IN 构造函数它只在 SD 卡中创建文件,但在默认路径中它一切都很好......
如何将所有Sqlitedata存储在SD卡上以便进一步访问?
我创建了我的数据库
public DatabaseHelper(final Context context) {
super(context, Environment.getExternalStorageDirectory()
+ File.separator + FILE_DIR
+ File.separator + DATABASE_NAME, null, DATABASE_VERSION);
}
并且没有进一步的问题。我想你对 super() 的调用也应该引用 sdcard 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)