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。 

你可能感兴趣的:(数据库)