GreenDao的简单使用说明(一)android studio中引入GreenDao
来自: http://blog.csdn.net//chenguang79/article/details/50433152
GreenDao是现在大家评论说在android开发中,数据库框架效率最好的一个.以前一直在使用原生的,虽然感觉什么自己都可以控制,可是写起来,改起来有点恶心,所以正好借个机会,来使用一下GreenDao.我使用的开发工具是android studio.
GreenDao说实话,它在引入的时候有点恶心,不像别的第三方框架,只要引入一个compile 'XX.XXX.1.0'这样,就可以使用了,它不行.所以今天我就把在android studio中如何引入做一个记录.
我们先去https://github.com/SureCase/GreenDaoForAndroidStudio上把下载它的代码.
然后我们开始进行配置
1, 在/app/src/main/下建立文件夹java-gen,这个文件夹是与java平级的,当然了.我使用的是project视图.如下图:
为什么要起一个名字叫java-gen的文件夹名呢.这里我们留一个疑问,一会就会知道了
2, 打开app文件夹下的build.gradle文件,在里面添加
sourceSets {
main {
java.srcDirs = ['src/main/java', 'src/main/java-gen']
}
}
这句话的意思就是把java-gen文件夹下的java文件也归入srcDir中,这是因为GreenDao的逻辑是通过其提供的一套java se代码配置后自动在java-gen生成对应的文件,DaoMaster.java,DaoSession.java,**DAO.java这三个文件,我们在程序中主要是调用这里面的类来操作数据库的.
现在有点明白为什么我们要建一个叫java-gen的文件夹了吧,后面我们还会看到.
3,还是在这个build.gradle文件里,引入dependencies
dependencies {
compile 'de.greenrobot:greendao:1.3.7'
}
build.gradle文件如下图:
OK,基础配置已经完成了,不要以为这样你就可以使用了,这是不可能的,我们刚才说了,它需要运行它的java se文件来生成三个java文件的,还记得一开始我们下载的文件吗,好的解压它,找到里面的MyDaoGenerator文件夹,它把复制到工程当中,位置就是根目录下,它要与app文件夹是同级的.如下图:
复制完成之后,我们要把MyDaoGenerator include到工程当中,打开根目录下面的setting.gradle文件,在里面添加上':MyDaoGenerator ',如下图:
这些设置完成之后,我们就要设置MyDaoGenerator文件夹里面的build.gradle文件了,要为它设置一下输出路径,还记得java-gen吗,这个文件夹的名字,就是在这里设置的,我们使用了系统默认给出的,主要是为了别人看着方便,自己也方便,修改代码如下:
def outputDir = "../app/src/main/java-gen"
整体代码:如图
看到了吧,它给的例子里面,没有def,如果不加这个,编译会一直出错,上网查了一下,才发现是这里的问题,坑爹啊.
OK,到了这里,我们的配置算是配置完了,整个GreenDao框架的环境算是架上了.不对吧,这里好像少了点什么,对的,三个文件还没有呢,而且java-gen文件夹还是空的,这怎么用啊.下面我们先来生成一下这三个文件.
1, 在MyDaoGenerator中,/src/main/java/pl.surecase.eu中打开MyDaoGenerator.java文件,我们在这里修改一下,
public class MyDaoGenerator { public static void main(String args[]) throws Exception { //初始化一下数据库 //第一个参数是版本号,第二个参数是为你生成的bean类放的文件夹名 Schema schema = new Schema(1, "greendao"); //设置一下生成的三个java文件的目录 schema.setDefaultJavaPackageDao("com.guangda.dao"); //建立一个表 Entity userBean = schema.addEntity("Users"); //此行可有可无,就是对表进行重命名 userBean.setTableName("Users"); //此行被注,因为加上引行,下面的字段总会少一个.不知道为什么 //userBean.addLongProperty("id").primaryKey().index().autoincrement(); //建立自增的主键 userBean.addIdProperty(); userBean.addStringProperty("uSex"); userBean.addStringProperty("uTelphone"); userBean.addStringProperty("uAge"); userBean.addStringProperty("uName"); new DaoGenerator().generateAll(schema, args[0]); } }
在这里说明一点,如果我们要对数据库里面的表字段进行修改,只要将版本号,改高一级,然后在
new DaoGenerator().generateAll(schema, args[0]);前面再加上新字段再重新生成一下就OK了.
好,设置完这个,让我们来生成一个吧.
选择Gradle面板,点上面的刷新按钮,将工程刷新出来,然后选择:MyDaoGenerator->Tasks->application双击下面的run.
如下图:
等运行完了,就会发现在java-gen文件夹下已经生成了所需求的代码.
如下图:
OK了,到此GreenDao在android studio中的配置算是设置好了.下一节,我们来看一下,如何使用它.