背景
GreenDao 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案。(greenDAO is a light & fast ORM solution that maps objects to SQLite databases), 而关于 ORM (Object Relation Mapping - 对象关系映射)的概念,可参见 Wikipedia。
GreenDao的优点
- 一个精简的库
- 性能最大化
- 内存开销最小化
- 易于使用的Apis
- 对Android进行高度优化
Android Studio中引入GreenDao
GreenDAO整个运行的逻辑是通过配置其提供的JavaSE代码,自动在一个文件夹下生成需要Bean、DAO、DaoMaster、DaoSession;然后在Android代码中通过自动生成的DaoSession来操作数据库,具体方法如下:
1.配置工程
(1) 在./src/main目录下创建一个与Java同层级的java-gen文件夹.
打开build.gradle,引入sourceSets
//java-gen为greendao代码生成目录
sourceSets {
main {
java.srcDirs = ['src/main/java', 'src/main/java-gen']
}
}
这句话的意思是把java-gen文件夹下的java文件也归入srcDir中,主要是因为GreenDAO的逻辑是通过其提供的一套Java SE代码配置后自动在java-gen文件夹下生成对应的*DAO.java、DaoMaster.java、DaoSession.java文件。在Android代码中通过调用这几个类来操作数据库。
(2) 添加依赖
compile 'de.greenrobot:greendao:1.3.7'
2.新建「GreenDao Generator」模块 (纯 java工程)
通过 File -> New -> New Module -> Java Library -> 填写相应的包名与类名 -> Finish.
配置 green_dao_lib工程的 build.gradle,添加 dependencies.
compile 'de.greenrobot:greendao-generator:1.3.1'