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

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

问题描述

我想创建的SD卡,而不是默认的路径我SQLite数据库...我想从SD卡访问我的所有数据也 我已经使用这个code:

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

在构造只在SD卡创建的文件,但在默认路径确实一切顺利..... 如何存储所有Sqlitedata对SD卡进行进一步的访问?

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

和有进一步上没有问题。我猜你的电话到超()应参照SD卡为好。

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

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

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