GreenDao的配置

2020-11-12  本文已影响0人  考试小灵通

Project下的build。gradle文件

repositories{

mavenCentral() // 添加代码仓库  步骤1

}

dependencies {

    //greenDao生产代码插件  步骤2

    classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin

}

Module下的build.gradle文件加入

apply plugin: 'org.greenrobot.greendao' // apply plugin 步骤3

android {

    ...

    //greendao配置  步骤5

    greendao {

        //数据库版本号,升级时修改

        schemaVersion 1

        //生成的DAO,DaoMaster和DaoSession的包路径。默认与表实体所在的包路径相同

        daoPackage '包名.db'

        //生成源文件的路径。默认源文件目录是在build目录中的(build/generated/source/greendao)

        targetGenDir 'src/main/java'

    }

}   

dependencies {

    //greenDAO配置  步骤4

    implementation 'org.greenrobot:greendao:3.2.2' // add library

    implementation 'org.greenrobot:greendao-generator:3.2.2'

}

BeanApp  配置

private static BaseApp sInstance;

    private DaoMaster.DevOpenHelper mHelper;

    private DaoMaster mDaoMaster;

    private DaoSession mDaoSession;

    @Override

    public void onCreate() {

        super.onCreate();

        Log.d("BaseApp", "onCreate: ");

        sInstance = this;

        setDatabase();

    }

    /**

    * 设置greenDao

    */

    private void setDatabase() {

        //通过DaoMaster内部类DevOpenHelper可以获取一个SQLiteOpenHelper 对象

        // 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。

        // 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。

        // 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。

        // 此处MyDb表示数据库名称 可以任意填写,但是必须以db结尾

        mHelper = new DaoMaster.DevOpenHelper(this, "MyDb.db", null);

        SQLiteDatabase db = mHelper.getWritableDatabase();

        //Android 9 默认使用了wal模式,需要关闭wal模式

        db.disableWriteAheadLogging();

        mDaoMaster = new DaoMaster(db);

        mDaoSession = mDaoMaster.newSession();

    }

    public static BaseApp getInstance(){

        return sInstance;

    }

    public DaoSession getDaoSession(){

        return mDaoSession;

    }

//清单文件注册name

上一篇下一篇

猜你喜欢

热点阅读