ormlite更改数据库默认位置


前言

ormlite数据库默认放在databases下,有时候可能需要使用预置好数据的数据库,可能就需要更改默认路径了。

  

声明

欢迎转载,但请保留文章原始出处:) 

博客园:http://www.cnblogs.com

农民伯伯: http://over140.cnblogs.com   

 

正文

1、继承OrmLiteSqliteOpenHelper:

public class SQLiteHelperOrm extends OrmLiteSqliteOpenHelper {
    
    public static final String DATABASE_PATH = Environment
            .getExternalStorageDirectory() + "/test.db";
    @Override
    public synchronized SQLiteDatabase getWritableDatabase() {
        return SQLiteDatabase.openDatabase(DATABASE_PATH, null,
                SQLiteDatabase.OPEN_READWRITE);
    }

    public synchronized SQLiteDatabase getReadableDatabase() {
        return SQLiteDatabase.openDatabase(DATABASE_PATH, null,
                SQLiteDatabase.OPEN_READONLY);
    }

代码说明:

注意这里覆盖了getWritableDatabase和getReadDatabase,并且没有super。

 

2、Application里面创建数据库

        File f = new File(SQLiteHelperOrm.DATABASE_PATH);
        if (!f.exists()) {
            SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(
                    SQLiteHelperOrm.DATABASE_PATH,null);
            SQLiteHelperOrm orm = new SQLiteHelperOrm(this);
            orm.onCreate(db);
            db.close();
        }

注意close掉数据库。

 

结束

搜索过一次,没收到结果,过了一段时间又搜了一次,找到了类似的结果,感谢stackoverflow.com。 

posted @ 2012-10-22 09:19  农民伯伯  阅读(4159)  评论(5编辑  收藏  举报