zoukankan      html  css  js  c++  java
  • 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。 

  • 相关阅读:
    记录java设计模式中适配器模式和装饰器模式和代理模式的区别
    excel工具类记录
    docker搭建图床 chevereto 非常方便
    docker 安装mysql
    rabbitmq学习之路(八)
    理解js中的作用域,作用域链以及闭包
    浏览器解析js的顺序
    javacript 组合使用构造函数模式和原型模式
    js垃圾回收机制与深拷贝和浅拷贝
    ES6 变量的解构赋值
  • 原文地址:https://www.cnblogs.com/over140/p/2733346.html
Copyright © 2011-2022 走看看