GreenDao的简单使用说明(一)android studio中引入GreenDao

sixstars 9年前

来自: 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中的配置算是设置好了.下一节,我们来看一下,如何使用它.