下面来说一下GreenDao数据库的优势
1.存取速度快;
2.支持数据库加密;
3.轻量级;
4.激活实体;
5.支持缓存;
6.代码自动生成;
总结:效率很高,插入和更新的速度是sqlite的2倍,加载实体的速度是ormlite(也是一个数据库框架)的4.5倍,目前git上一直在做更新维护,start数量为9000多。
下面我们言简意赅,主要说下GreenDao数据库的使用。
第一步: 在项目的.gradle文件里面添加
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath ‘org.greenrobot:greendao-gradle-plugin:3.1.0’
}
}
第二步:在moddle的.gradle文件里面添加
android {
greendao {
schemaVersion 1
daoPackage ‘包名+.greendao’
targetGenDir ‘src/main/java’
}
}
依赖里面添加
apply plugin: ‘org.greenrobot.greendao’ // 数据库
compile ‘org.greenrobot:greendao:3.1.0’
compile ‘org.greenrobot:greendao-generator:3.1.0’
第三步: 添加Bean类,用User举例子 , 一定要记得注解@Entity 如:
@Entity
public class FrendsMessageEntity implements Parcelable {
@Id(autoincrement = true)
public Long id;//一条数据的id
public String content;//消息内容
public String toUserImage;//头像
public int contentType;//1文本消息 2图片 3音频
}
第四步:编译项目,PhoneContactsEntity实体类会自动编译,生成get、set方法并且会在com.jyjt.ydyl.greendao.gen目录下生成三个文件;
第五步:Application中进行初始化,创建表;
public class MyApplication extends BaseApplication {
@Override
public void onCreate() {
super.onCreate();
//GreenDao
initGreenDao();
}
private void initGreenDao() {
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "chat.db");
SQLiteDatabase db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
}
private static DaoSession daoSession;
public static DaoSession getDaoSession() {
return daoSession;
}
}
第六步:创建DBHelper