GreenDAO介紹
在日常的Android開發(fā)中我們或多或少都會需要數(shù)據(jù)的持久化荚孵,Android中數(shù)據(jù)的持久化有很多種善榛,比如使用sharedpreference戴而,或者自己定義一個文件,當(dāng)然使用的最多的還是SQLite數(shù)據(jù)庫來持久化我們的數(shù)據(jù)挽霉,但是在開發(fā)的過程中我們需要做一些額外的工作防嗡,比如,創(chuàng)建數(shù)據(jù)侠坎,編寫數(shù)據(jù)庫表和對象的關(guān)聯(lián)關(guān)系蚁趁,編寫SQL語句等,較為繁瑣实胸,讓我們無法專注于業(yè)務(wù)開發(fā)他嫡,由此Android上對應(yīng)的ORM庫也應(yīng)運而生。
目前市面上流行的框架有很多ormLite庐完,greendao等等钢属,今天要介紹的就是greendao,主要是最近自己在做一個小功能的時候需要用到數(shù)據(jù)庫门躯,由此接觸到了這個東西淆党,本篇文章主要講greendao的使用
GreenDAO的使用
首先附上greendao的官網(wǎng)地址http://greenrobot.org/greendao/
一.添加GreenDAO依賴
本文所使用的均為Android studio + gradle的使用環(huán)境,如果看官的使用環(huán)境不同還請注意。
首先在根目錄下的gradle文件中添加如下
// In your root build.gradle file:
buildscript {
repositories {
jcenter()
mavenCentral() // 添加mavencentral的代碼庫
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // 添加插件依賴
}
}
在moudle對應(yīng)的gradle添加
// In your app projects build.gradle file:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // 應(yīng)用插件
dependencies {
compile 'org.greenrobot:greendao:3.2.2' // 添加lib
}
二.代碼使用
通過上一步的添加染乌,我們已經(jīng)可以使用greendao了山孔,下面我們來看看如何使用
首先我們在目錄下新建一個類,名叫User
@Entity
public class User {
@Id
private String username;
private String password;
}
注意代碼中添加的兩個注解荷憋,然后我們點擊Android studio 中Build --->Make project 然后我們發(fā)現(xiàn)User類變成了下面這個樣子
@Entity
public class User implements Serializable {
@Id
private String username;
private String password;
private String name;
private String info;
public String getInfo() {
return this.info;
}
public void setInfo(String info) {
this.info = info;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
@Generated(hash = 1080617474)
public User(String username, String password, String name, String info) {
this.username = username;
this.password = password;
this.name = name;
this.info = info;
}
@Generated(hash = 586692638)
public User() {
}
}
greendao已經(jīng)幫我們生成了對應(yīng)的代碼饱须,同時我們發(fā)現(xiàn)在我們的目錄下多了一個目錄,里面有對應(yīng)的三個類台谊,分別為DaoMaster,Daosession譬挚,UserDAO這也是greendao幫我們自動生成的
三.使用greendao