GreenDao官方教程擴(kuò)展版(1)

官方網(wǎng)站:http://greenrobot.org/greendao/

建議能看懂E文的童鞋自行閱讀官網(wǎng)的文檔(documentation)和入門指南( getting started guide

GreenDao省事的地方主要是在自動(dòng)生成了操作SQLite的代碼南誊,你只需要調(diào)用就行了,建議看下他自動(dòng)生成的代碼蜜托,寫的還是比較規(guī)范的抄囚。

一、添加依賴:

兩種方式:
  1. 通過(guò)Android Studio 的Maven Central直接搜索添加
    (1).打開Project Structure, 選擇Dependencies選項(xiàng)卡橄务,添加選擇Library Dependencies幔托。
    (2). 搜索 greendao,選擇de.greenrobot:greendao-generator:2.1.0確定后露氮,等Gradle同步完蟀架。
    (3). 同樣的步驟添加de.greenrobot:greendao:2.1.0
  • 通過(guò)手動(dòng)修改build.gradle文件添加
    (1). 打開需要添加module的build.gradle文件帽馋。
    (2). dependencies最后加上
    <code>compile 'de.greenrobot:greendao:2.1.0'
    compile 'de.greenrobot:greendao-generator:2.1.0'</code>
    (3). 同步Gradle(sync Project with Gradle files)棠涮。

二谬哀、生成代碼

  1. 新建DaoGenerator類,官方給了個(gè)Example.


/*

 * Copyright (C) 2011 Markus Junginger, greenrobot (http://greenrobot.de)

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 * http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */

package de.greenrobot.daogenerator.gentest;

import de.greenrobot.daogenerator.DaoGenerator;

import de.greenrobot.daogenerator.Entity;

import de.greenrobot.daogenerator.Property;

import de.greenrobot.daogenerator.Schema;

import de.greenrobot.daogenerator.ToMany;

/**

* Generates entities and DAOs for the example project DaoExample.

* 

* Run it as a Java application (not Android).

* 

* @author Markus

*/

public class ExampleDaoGenerator {

public static void main(String[] args) throws Exception {
//參數(shù):版本號(hào):1000,包名:de.greenrobot.daoexample
Schema schema = new Schema(1000, "de.greenrobot.daoexample");

addNote(schema);

addCustomerOrder(schema);
//生成的Dao類的目的地址故爵,在Windows下Android Studio運(yùn)行該類玻粪,
//會(huì)在生成的jar下找這個(gè)相對(duì)路徑(目測(cè)是找不到的隅津,最好還是用絕對(duì)路徑),建議用絕對(duì)路徑劲室。
//例如:
//F:\\workshop\\Project\\DaoExample\\app\\src\\main\\java
new DaoGenerator().generateAll(schema, "../DaoExample/src/main/java");

}
//添加Entity:Note
private static void addNote(Schema schema) {

Entity note = schema.addEntity("Note");
//添加Note本身的屬性Id伦仍,這個(gè)在數(shù)據(jù)庫(kù)是主鍵,并可以自增
note.addIdProperty();
//添加Note本身的屬性text很洋,類型是String充蓝,不可為空
note.addStringProperty("text").notNull();

note.addStringProperty("comment");
//Date類型
note.addDateProperty("date");

}

private static void addCustomerOrder(Schema schema) {

Entity customer = schema.addEntity("Customer");

customer.addIdProperty();

customer.addStringProperty("name").notNull();

Entity order = schema.addEntity("Order");

order.setTableName("ORDERS"); // "ORDER" is a reserved keyword

order.addIdProperty();

Property orderDate = order.addDateProperty("date").getProperty();

Property customerId = order.addLongProperty("customerId").notNull().getProperty();

order.addToOne(customer, customerId);

ToMany customerToOrders = customer.addToMany(order, customerId);

customerToOrders.setName("orders");

customerToOrders.orderAsc(orderDate);

}

運(yùn)行這個(gè)類(注意是單獨(dú)運(yùn)行這個(gè)類,在Android Studio里運(yùn)行類型是Application),執(zhí)行成功后喉磁,會(huì)看到多了幾個(gè)類谓苟,里面有標(biāo)記
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
然后就可以直接調(diào)用了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末协怒,一起剝皮案震驚了整個(gè)濱河市涝焙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孕暇,老刑警劉巖仑撞,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異妖滔,居然都是意外死亡隧哮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門座舍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沮翔,“玉大人,你說(shuō)我怎么就攤上這事曲秉〔墒矗” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵岸浑,是天一觀的道長(zhǎng)搏存。 經(jīng)常有香客問(wèn)我瑰步,道長(zhǎng)矢洲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任缩焦,我火速辦了婚禮读虏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袁滥。我一直安慰自己盖桥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布题翻。 她就那樣靜靜地躺著揩徊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上塑荒,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天熄赡,我揣著相機(jī)與錄音,去河邊找鬼齿税。 笑死彼硫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凌箕。 我是一名探鬼主播拧篮,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼牵舱!你這毒婦竟也來(lái)了串绩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芜壁,失蹤者是張志新(化名)和其女友劉穎赏参,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沿盅,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡把篓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腰涧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片韧掩。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖窖铡,靈堂內(nèi)的尸體忽然破棺而出疗锐,到底是詐尸還是另有隱情,我是刑警寧澤费彼,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布滑臊,位于F島的核電站,受9級(jí)特大地震影響箍铲,放射性物質(zhì)發(fā)生泄漏雇卷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一颠猴、第九天 我趴在偏房一處隱蔽的房頂上張望关划。 院中可真熱鬧,春花似錦翘瓮、人聲如沸贮折。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)调榄。三九已至踊赠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間每庆,已是汗流浹背臼疫。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扣孟,地道東北人烫堤。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像凤价,于是被迫代替她去往敵國(guó)和親鸽斟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 框架:提供一定能力的小段程序 http://www.cnblogs.com/jincheng-yangchaofa...
    姑娘請(qǐng)別為難小僧閱讀 7,186評(píng)論 0 132
  • 附上原文作者連接:作者:金誠(chéng) 一.榜單介紹 排行榜包括四大類: 單一框架:僅提供路由利诺、網(wǎng)絡(luò)層富蓄、UI層、通信層或其他...
    這個(gè)美嘉不姓陳閱讀 2,251評(píng)論 1 35
  • 一.榜單介紹 排行榜包括四大類: 單一框架:僅提供路由慢逾、網(wǎng)絡(luò)層立倍、UI層、通信層或其他單一功能的框架 混合開發(fā)框架:...
    偉子男閱讀 5,239評(píng)論 0 161
  • greenDAO官方主頁(yè):http://greendao-orm.com/ 官方主頁(yè)新地址:http://gree...
    sunny_zhang閱讀 10,120評(píng)論 12 49
  • 說(shuō)到羊侣滩,當(dāng)然要說(shuō)我最好的楊洋口注,他是世界上對(duì)我來(lái)說(shuō)是最好的一個(gè)人。雖然我們從不相識(shí)君珠。我認(rèn)識(shí)他寝志,他不認(rèn)識(shí)我。哪又如何策添?...
    小何飛洋閱讀 326評(píng)論 1 1