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