greenDao_2.0.0学习笔记3-Hello World

 

1 让我们从demo开始吧少年

从现在开始将引导您通过一个简单的greendao示例项目。它在https://github.com/greenrobot/greendao其中由两个子项目(文件夹):daoexample和 daoexamplegenerator。你可以克隆版本库获取代码并运行它,或者直接在GitHub上通过点击代码文件来浏览。

如果你已经从Git仓库里将daoexample下载并运行成功,你会看到这是一个简单笔记本程序。你可以输入一些文本然后点击右侧的按钮添加就可以添加一条笔记,它会按照时间顺序进行排序,当你点击一条已经添加的笔记会执行删除操作。

我从github上下载到android studio目录为:

2 预生成的代码和创建表

现在让我们一起看工程代码,其中在程DaoExample下src-gen下有一堆已经生成好的类。

a note.java 就是一个简单的pojo实体类

b NoteDao.java 是一个可以操作Note.java 的dao类

 通过DaoExampleGenerator 工程你可以随时生成Note类和NoteDao类。在项目中你可以用DaoMaster 很方便的得到SQLiteOpenHelper实例,比如以下代码:

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

注意:你不用去写创建数据库、表的sql语句,greendao会自动去创建。

 

3 插入和删除笔记

经过以上步骤我们创建好数据库、表时,可用以下代码进行插入操作,例如在NoteActivity 中onCreate方法里,用之前生成的Dao类进行添加笔记操作:

第一步:获得一个Dao类:

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

第二布:现在可以添加了:

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

简单吧,只需创建一个Dao对象并调用插入方法即可。当执行完insert插入方法时,该条实体对应的Id也会被数据库计算ID并赋值,你可以在日志中看到过。
接着往下看,我们在onlistitemclick可以找到删除操作,代码如下:
notedao.deletebykey
ID);

其中Dao中还有很多方法,比如loadAll等。

 

 

4 数据模型与代码生成

如果创建Note类的子类或者创建Note类新的实体,可以参考工程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");

 

正如你所看到的,创建了一个Schema对象,你可以用它来添加你自己需要的实体。一个实体即对应的一个数据库中的表。一个实体包含属性,该属性映射到数据库列。
一旦Schema和你需要定义的实体类创建完成,您可以执行该java工程代码。这时note.java和notedao.java将会被自动创建。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值