第一步
在最大的build.gradle中加入这句话
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0' //2. add plugin
第二步
在所写的app中加入
id 'org.greenrobot.greendao' // 1.apply plugin
第三步
在所写greenDao的项目添加
greendao {
// 指定数据库schema版本号,迁移等操作会用到
schemaVersion 1
// 设置生成数据库文件的目录,默认是在build中,可以将生成的文件放到我们的java目录中
targetGenDir 'src/main/java'
// 设置生成的数据库相关文件的包名,默认为entity所在的包名
daoPackage 'com.example.db'
}
第五步
加入依赖
api 'org.greenrobot:greendao:3.3.0' // 2.add library
第六步
创建一个类加入字段,例如:
@Entity
public class FoodTable {
@Id
private Long id;
@NotNull
private String img;
}
第七步
点小锤子锤一下然后会生成四个类例如:
package com.example.three_week_exam.db;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.Generated;
@Entity
public class FoodTable {
@Id
private Long id;
@NotNull
private String img;
@Generated(hash = 1479999356)
public FoodTable(Long id, @NotNull String img, boolean isChecked) {
this.id = id;
this.img = img;
this.isChecked = isChecked;
}
@Generated(hash = 466144808)
public FoodTable() {
}
private boolean isChecked = false;
public boolean isChecked() {
return isChecked;
}
public void setChecked(boolean checked) {
isChecked = checked;
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getImg() {
return this.img;
}
public void setImg(String img) {
this.img = img;
}
public boolean getIsChecked() {
return this.isChecked;
}
public void setIsChecked(boolean isChecked) {
this.isChecked = isChecked;
}
}
第八步
写出它的Manger管理类,详情如下:
package com.example.three_week_exam.db;
import android.content.Context;
public class DBManger {
private static DBManger manger;
public static DBManger getInstance() {
if (manger==null){
manger = new DBManger();
}
return manger;
}
private DaoMaster daoMaster;
private DaoSession daoSession;
public DaoMaster getDaoMaster(Context context) {
if (daoMaster==null){
//后面的参数第一个代表下标,第二个代表所创数据库的名字
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(context, "product.db");
//加入读写权限
daoMaster = new DaoMaster(devOpenHelper.getWritableDb());
}
return daoMaster;
}
public DaoSession getDaoSession() {
if (daoSession==null){
daoSession = daoMaster.newSession();
}
return daoSession;
}
}
第九步
在这里我们要把之前写的管理类实例化出来
//初始化数据库
DaoMaster daoMaster = DBManger.getInstance().getDaoMaster(EnumActivity.this);
小结: