1. 前言
- 主要介绍GreenDao在Android Studio下的配置方法。
- 本文资料来源网络公开资源,并根据个人实践见解纯手打整理,如有错误请随时指出。
- 本文主要用于个人积累及分享,文中可能引用其他技术大牛文章(仅引用链接不转载),如有侵权请告知必妥善处理。
2. 正文
- GreenDao 3.x 优势更加明显,配置更加简单
- 其他优势无需多言,网络上测试文章很多
- 如果app本地所需存储的数据量很小,可以考虑不使用GreenDao
2.1. 依赖和配置
2.1.1. Project - build.gradle
在本Project的build.gradle中添加maven等配置
...
buildscript {
repositories {
...
mavenCentral()
}
dependencies {
...
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
}
}
...
2.1.2. Module - build.gradle
配置需要依赖GreenDao的Module中的build.gradle
apply plugin: 'org.greenrobot.greendao'
...
dependencies {
...
compile'org.greenrobot:greendao:3.2.2'
...
}
...
2.1.3. schema配置
Module中的build.gradle中
...
greendao{
schemaVersion 1
daoPackage 'xx.xxx.xxxxx.greendao.dao'
targetGenDir 'src/main/java/'
}
...
配置说明
名称 必要性 常用与否 备注 schemaVersion 必须 是 数据库版本号,如果您更改了实体或数据库模式,则必须增加该值。默认1 daoPackage 可选 是 生成的DAO,DaoMaster和DaoSession的包路径名称。如未设置,默认为来源实体类所在的包路径 targetGenDir 必须 是 生成源应存储在哪里,默认为构建目录中生成的源文件夹:build/generated/source/greendao generateTests 可选 否 设置为true以自动生成单元测试 targetGenDirTests 可选 否 生成单元测试的基本目录的存储位置,默认为’src/androidTest/java’ 上表中常用参数详细说明
schemaVersion
sqlite数据库结构一旦变化必须升版本,变化后将此参数值+1即可,GreenDao将自动升级数据库。
daoPackage
设置自动注入生成dao代码的包路径,可参看如下示例,比较好理解:
targetGenDir
具体表示dao文件编译后在generated中的路径,目前我用下来必须配置,不配置会导致编译/发布apk报错,如下:
- 已配置,编译文件位置例如:
- 未配置,编译文件位置例如:
- 未配置,编译或发布后,报错提示(因与java文件中自动注入的dao类文件重复而冲突):