1.在工程build下添加
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
2.在项目build下添加
2.1 根目录添加
apply plugin: 'org.greenrobot.greendao'
2.2 dependencies 添加
implementation 'org.greenrobot:greendao:3.3.0'
implementation 'net.zetetic:android-database-sqlcipher:3.5.6'// 加密数据库时使用
2.3 android下添加可以自定义生成的路径 不写的话会自动生成到build\generated\source文件下
greendao {
// 数据库版本号
schemaVersion 6
// // 生成数据库文件的目录
// targetGenDir 'src/main/java/com/example/androidtest'
// // 生成的数据库相关文件的包名
// daoPackage 'greendao'
}
3.加载greendao创建数据库等
package com.example.androidtest;
import com.example.androidtest.model.DaoMaster;
import com.example.androidtest.model.DaoSession;
public class GreenDaoManager {
private DaoMaster mDaoMaster;
private static DaoSession mDaoSession;
private static GreenDaoManager mInstance;//单例
/**
* 配置数据库
*/
private GreenDaoManager() {
if (mInstance == null) {
//创建数据库
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(MyApplication.getInstance(),"test.db", null);
//获取可写数据库
mDaoMaster = new DaoMaster(helper.getEncryptedWritableDb("402891"));
mDaoSession = mDaoMaster.newSession();
}
}
public static GreenDaoManager getInstance() {
if (mInstance == null) {
synchronized (GreenDaoManager.class) {//保证异步处理安全操作
if (mInstance == null) {
mInstance = new GreenDaoManager();
}
}
}
return mInstance;
}
public static DaoSession getSession() {
return mDaoSession;
}
}
4.在applaction中初始化加载
public class MyApplication extends Application {
public static MyApplication instance;
public static DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
MultiDex.install(this);
instance=this;
initDao();
}
private void initDao() {
GreenDaoManager.getInstance();
}
public static MyApplication getInstance(){
return instance;
}
public static DaoSession getDaoSession(){
return daoSession;
}
}
5.使用
GreenDaoManager.getSession().get我们需要的数据dao
记录一下,也查看了许多大佬的文章,大佬勿喷。