配置项目 build.gradle
buildscript {
repositories {
google()
jcenter()
mavenCentral() // add repository
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
导依赖
apply plugin: 'org.greenrobot.greendao'/写在最上面
greendao {
schemaVersion 1 //数据库版本号
daoPackage 'kk.com.grenndao.greenDao.db'
// 设置DaoMaster、DaoSession、Dao 包名
targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录
generateTests false //设置为true以自动生成单元测试。
targetGenDirTests 'src/main/java' //应存储生成的单元测试的基本目录。默认为 src / androidTest / java。
}
implementation 'org.greenrobot:greendao:3.2.2'//依赖
配置MyApplication并且在清单文件注册
package kk.com.grenndao.grenn;
import android.app.Application;
import android.database.sqlite.SQLiteDatabase;
import kk.com.grenndao.greenDao.db.DaoMaster;
import kk.com.grenndao.greenDao.db.DaoSession;
public class MyApplication extends Application {
private DaoMaster.DevOpenHelper devOpenHelper;
private static MyApplication instances;
private SQLiteDatabase database;
private DaoMaster daoMaster;
private DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
instances =this;
}
private void setDataBase() {
devOpenHelper = new DaoMaster.DevOpenHelper(this, "a.db", null);
database = devOpenHelper.getWritableDatabase();
daoMaster = new DaoMaster(database);
daoSession = daoMaster.newSession();
}
public static MyApplication getInstances() {
return instances;
}
public SQLiteDatabase getDatabase() {
return database;
}
public DaoSession getDaoSession() {
return daoSession;
}
}
封装的Bean类
package kk.com.grenndao.grenn;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;
@Entity
public class Bean {
@Id(autoincrement = true)
Long id;
String name;
String sex;
String age;
@Generated(hash = 403787387)
public Bean(Long id, String name, String sex, String age) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}
@Generated(hash = 80546095)
public Bean() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
继承Application
public class MyApplication extends Application {
private DaoMaster.DevOpenHelper devOpenHelper;
private static MyApplication instances;
private SQLiteDatabase database;
private DaoMaster daoMaster;
private DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
instances =this;
}
private void setDataBase() {
devOpenHelper = new DaoMaster.DevOpenHelper(this, "a.db", null);
database = devOpenHelper.getWritableDatabase();
daoMaster = new DaoMaster(database);
daoSession = daoMaster.newSession();
}
public static MyApplication getInstances() {
return instances;
}
public SQLiteDatabase getDatabase() {
return database;
}
public DaoSession getDaoSession() {
return daoSession;
}
}
想在哪里使用就直接获取这个对象,直接做增删改查 dataBaseDao = MyApplication.getIntence().getDaoSession().getDataBaseDao();