GreenDao_1.怎么开始使用它

How to get started

怎么样使用GreenDao

本教程将引导您通过一个简单的greendao示例项目。该项目链接由包含了两个子项目:DaoExample 和DaoExampleGenerator。你可以克隆Git 仓库获取代码并运行它,或者只是查看代码直接在GitHub上。

如果你从Git仓库导入DaoExample ,你可以把它作为一个Android应用程序运行。正如你所看到的,它是一个简单的应用程序–记事本。你可以创建新的笔记,也可以点击删除一个存在的笔记。

生成的代码和创建表

现在,让我们看一些代码。在文件夹src-gen中,你可以看到已经生成的代码文件:
1)Note.java是包含所有笔记数据的java类
2)NoteDao.java 是一个DAO类, 用来操作Note 对象

你总是可以通过DaoExampleGenerator项目再一次生成Note和NoteDao类。现在介绍一下项目DaoExample。通过DaoMaster类,你可以获取到一个方便使用的SQLiteOpenHelper:

new DaoMaster.DevOpenHelper(this, "notes-db", null)

正如你看到的,你不在需要使用写“CREATE TABLE”相关代码,
greenDao已经帮你完成了。

插入和删除notes

一旦我们有了笔记表,我们就可以插入一些数据在数据库中。这些将在NoteActivity类中实现,在onCreate方法中,我们可以获取一个Dao对象:

daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
noteDao = daoSession.getNoteDao();

现在看一下addNote方法,你怎么样插入新笔记到数据库中:

Note note = new Note(null, noteText, comment, new Date());
noteDao.insert(note);
Log.d("DaoExample", "Inserted new note, ID: " + note.getId());

只要创建一个Note对象,然后调用Dao.insert(obj)即可。当insert返回结果时,刚插入到数据库中的note对象就获取了它对应的id。正如在log 中输出的一样。

删除一个笔记对象也很简单,在onListItemClick方法中:

noteDao.deleteByKey(id);

如果你有兴趣,也可以去查看其它的DAO方法,如loadAll和update。

数据模型和代码生成

为了扩展note或者是创建新的Entity,你应该查看项目DaoExampleGenerator,里面只有一个数据模型定义的类:

Schema schema = new Schema(1, "de.greenrobot.daoexample");
Entity note= schema.addEntity(“Note”);
note.addIdProperty();
note.addStringProperty(“text”).notNull();
note.addStringProperty(“comment”);
note.addDateProperty(“date”);
new DaoGenerator().generateAll(schema, “../DaoExample/src-gen”);

正如你看到的,你创建了一个可以添加Entity的Schema对象。一个Entity类对应数据库中的一个表;并且其包含的属性也对应于数据库表中的列。一旦schema定义完成,你就可以调用代码生成相关类。这个就是Note.java 和 NoteDao.java的创建步骤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值