1. 程式人生 > >GreenDao的簡單使用說明(一)android studio中引入GreenDao

GreenDao的簡單使用說明(一)android studio中引入GreenDao

        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中的配置算是設定好了.下一節,我們來看一下,如何使用它.