第一步
添加代碼倉(cāng)庫(kù)
mavenCentral()
第二步
greenDao生產(chǎn)代碼插件
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
第三步
apply plugin
apply plugin: 'org.greenrobot.greendao'
第四步
greenDAO配置
implementation 'org.greenrobot:greendao:3.2.2' // add library
implementation 'org.greenrobot:greendao-generator:3.2.2'
第五步
greendao配置 在buildTypes下面添加 daoPackage 改成自己的包名
greendao {
//數(shù)據(jù)庫(kù)版本號(hào)屑那,升級(jí)時(shí)修改
schemaVersion 1
//生成的DAO持际,DaoMaster和DaoSession的包路徑。默認(rèn)與表實(shí)體所在的包路徑相同
daoPackage 'com.example.xts.greendaodemo.db'
//生成源文件的路徑益眉。默認(rèn)源文件目錄是在build目錄中的(build/generated/source/greendao)
targetGenDir 'src/main/java'
}
第六步
建bean類(lèi) 實(shí)體類(lèi)和數(shù)據(jù)庫(kù)對(duì)應(yīng)郭脂,,添加相關(guān)注解屿衅,,然后編譯項(xiàng)目生成相關(guān)文件 錘項(xiàng)目(小錘不管用,用大錘 -build-rebuild project)
@Entity
public class Bean {
@Id //表示是表中的主鍵
private Long id; //一定是Long型
private String date;
@Unique //此字段的值唯一約束:不能重復(fù)
private String name;
private int step;
}
第七步
創(chuàng)建一個(gè)自己的application類(lèi)娱颊,在application中完成DaoSession的初始化傲诵,避免以后重復(fù)初始化,便于使用 箱硕,拴竹,,要配置到清單中
public class BaseApp extends Application {
private static BaseApp sInstance;
private DaoMaster.DevOpenHelper mHelper;
private DaoMaster mDaoMaster;
private DaoSession mDaoSession;
@Override
public void onCreate() {
super.onCreate();
sInstance = this;
setDatabase();
}
/**
* 設(shè)置greenDao
*/
private void setDatabase() {
//通過(guò)DaoMaster內(nèi)部類(lèi)DevOpenHelper可以獲取一個(gè)SQLiteOpenHelper 對(duì)象
// 可能你已經(jīng)注意到了剧罩,你并不需要去編寫(xiě)「CREATE TABLE」這樣的 SQL 語(yǔ)句栓拜,因?yàn)?greenDAO 已經(jīng)幫你做了。
// 注意:默認(rèn)的 DaoMaster.DevOpenHelper 會(huì)在數(shù)據(jù)庫(kù)升級(jí)時(shí)惠昔,刪除所有的表幕与,意味著這將導(dǎo)致數(shù)據(jù)的丟失。
// 所以镇防,在正式的項(xiàng)目中啦鸣,你還應(yīng)該做一層封裝,來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的安全升級(jí)来氧。
// 此處MyDb表示數(shù)據(jù)庫(kù)名稱(chēng) 可以任意填寫(xiě)
mHelper = new DaoMaster.DevOpenHelper(this, "MyDb", null); // MyDb是數(shù)據(jù)庫(kù)的名字诫给,更具自己的情況修改
SQLiteDatabase db = mHelper.getWritableDatabase();
mDaoMaster = new DaoMaster(db);
mDaoSession = mDaoMaster.newSession();
}
public static BaseApp getInstance(){
return sInstance;
}
public DaoSession getDaoSession(){
return mDaoSession;
}
}
第八步
在清單中配置此BaseApp
<application
android:name=".BaseApp"/>
第九步
完成數(shù)據(jù)庫(kù)的創(chuàng)建,表的創(chuàng)建胃榕,插入數(shù)據(jù)insert
BeanDao beanDao = BaseApp.getInstance().getDaoSession().getBeanDao();//得到對(duì)象