GreenDao官方教程扩展版(1)

官方网站:http://greenrobot.org/greendao/

建议能看懂E文的童鞋自行阅读官网的文档(documentation)和入门指南( getting started guide)

GreenDao省事的地方主要是在自动生成了操作SQLite的代码,你只需要调用就行了,建议看下他自动生成的代码,写的还是比较规范的。

一、添加依赖:

两种方式:
  1. 通过Android Studio 的Maven Central直接搜索添加
    (1).打开Project Structure, 选择Dependencies选项卡,添加选择Library Dependencies
    (2). 搜索 greendao,选择de.greenrobot:greendao-generator:2.1.0确定后,等Gradle同步完。
    (3). 同样的步骤添加de.greenrobot:greendao:2.1.0
  • 通过手动修改build.gradle文件添加
    (1). 打开需要添加module的build.gradle文件。
    (2). dependencies最后加上
    compile 'de.greenrobot:greendao:2.1.0'
    compile 'de.greenrobot:greendao-generator:2.1.0'

    (3). 同步Gradle(sync Project with Gradle files)。

二、生成代码

  1. 新建DaoGenerator类,官方给了个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 {
//参数:版本号:1000,包名:de.greenrobot.daoexample
Schema schema = new Schema(1000, "de.greenrobot.daoexample");

addNote(schema);

addCustomerOrder(schema);
//生成的Dao类的目的地址,在Windows下Android Studio运行该类,
//会在生成的jar下找这个相对路径(目测是找不到的,最好还是用绝对路径),建议用绝对路径。
//例如:
//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,这个在数据库是主键,并可以自增
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);

}

运行这个类(注意是单独运行这个类,在Android Studio里运行类型是Application),执行成功后,会看到多了几个类,里面有标记
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
然后就可以直接调用了。

你可能感兴趣的:(GreenDao官方教程扩展版(1))