android - 如何将sqlite数据库直接存储在sdcard上

标签 android sqlite android-sqlite

我想在 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);
    }
}

问题:

When i see the database file in default path i can see all the data and table but when i see the database file created in sd card it doesnot shows any data but it only shows the database file

IN 构造函数 它只在 sdcard 中创建文件,但在默认路径中它做得很好..... 如何将所有 Sqlitedata 存储在 sdcard 上以供进一步访问?

最佳答案

我创建了我的数据库

    public DatabaseHelper(final Context context) {
    super(context, Environment.getExternalStorageDirectory()
            + File.separator + FILE_DIR
            + File.separator + DATABASE_NAME, null, DATABASE_VERSION);
}

并且没有进一步的问题。我猜你对 super() 的调用也应该引用 sdcard。

关于android - 如何将sqlite数据库直接存储在sdcard上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373863/

相关文章:

android - 多个插入语句android sqlite

swift - 将列添加到 Vapor 中的现有表

sqlite - SQLite 中的 LIKE 和 GLOB 有什么区别?

android - getWriteableDatabase 处的 NullPointerException

设置中未显示键盘的 Android list

android-support-multidex.jar 无法在 Eclipse 中工作

Android:使用 webview.loadUrl 时如何检查 url 是否成功加载

android - 如何在多个 Activity 中使用相同的服务?

java - 应用程序在插入查询 SQLite 时关闭

java - SQLite 单例方法的内存问题