效果图:
点此进入目录:[干货] 十天 教你从创意到上线APP
一、什么是greenDao?
greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。
二、为什么选用greenDAO ?
- greenDAO 可以将我们数据库的中数据转换为相应的对象,这样可以省去我们自己去转换对象的时间。
- 和同类型的库相比,性能是最好的。(与OrmLite、ActiveOrm、LitePal等数据库相比,单位时间内可以插入、更新和查询更多的数据,而且提供了大量的灵活通用接口,对比可见下图。)
- greenDAO 也是当前 Android 开发中比较流行的库,当前的 github 星星数为 7369。
- 使用 SQL 语句进行查询容易出错,而且错误比较难以发现,使用 greenDAO 的话可以在编译阶段就发现错误。
- 还有就是代码比较简单明了,程序员都想用最少的代码,做最多的事。
- 轻量级,整个库大小小于 150 k。
三、GreenDao 3.0的使用
当前的 greenDAO 要求 gradle 的版本至少是 3.3,那我们采用3.3来实现。其中GreenDao 3.1采用注解的方式来定义实体类,通过gradle插件生成相应的代码。
1、在Android Studio中导入相关的包
compile 'org.greenrobot:greendao:3.1.0'
compile 'org.greenrobot:greendao-generator:3.1.0'
2、在build.gradle中进行配置
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'org.greenrobot:greendao-gradle-plugin:3.1.0'
}
}
注:在gradle的根模块中加入上述代码。
3、自定义路径
greendao {
schemaVersion 1
daoPackage 'com.wgh.willflowaicollection.greendao'
targetGenDir 'src/main/java'
}
属性介绍:
- schemaVersion : 指定数据库schema版本号,迁移等操作会用到;
- daoPackage : dao的包名,包名默认是entity所在的包;
- targetGenDir : 生成数据库文件的目录;
在gradle的根模块中加入上述代码,就完成了我们的基本配置了。
4、创建一个Category的实体类
/**
* Created by : WGH.
*/
@Entity
public class Category implements Serializable {
private static final long serialVersionUID = 7247714666080613254L;
@Id(autoincrement = true)
private Long id;
private