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
网友评论