如何将sqlite数据库直接存储在sdcard上 [英] How to store sqlite database directly on sdcard

查看:23
本文介绍了如何将sqlite数据库直接存储在sdcard上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 sdcard 而不是默认路径中创建我的 sqlite 数据库...我也想从 sdcard 访问我的所有数据我使用过此代码:

i want to create my sqlite database in sdcard instead of default path...i want to access all my data from sdcard also I have Used This Code:

            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);
    }
}

问题:

当我在默认路径中看到数据库文件时,我可以看到所有数据和表,但是当我看到在 sd 卡中创建的数据库文件时不显示任何数据,只显示数据库文件

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 上以供进一步访问?

IN constructor it only creates the file in sdcard but in default path it does everything well..... How to store all Sqlitedata on sdcard for further access?

推荐答案

我用

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

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

and had no problems further on. I guess your call to super() should reference the sdcard as well.

这篇关于如何将sqlite数据库直接存储在sdcard上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆