greenDAO系列2--如何开始

摘要  本节将通过一个简单的示例项目带你入门greenDAO

    本节将通过一个简单的示例项目带你入门。访问https://github.com/greenrobot/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。

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

    应该注意到,无需编写 “CREATE TABLE” SQL 脚本,greenDAO已经为你实现。


插入和删除笔记

    现在有了一张关于笔记本的数据表,我们就可以填充一些笔记到数据库中。相关实现在NoteActivity类。在onCreate方法中准备了一个DAO对象:

?
1
2
3
daoMaster =  new  DaoMaster(db);
daoSession = daoMaster.newSession();
noteDao = daoSession.getNoteDao();

    看addNote方法,插入一条新的笔记到数据库如下:

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

    创建一个实体并调用DAO的insert方法。当执行完inser方法,刚刚插入的note实体对应的id,将被赋值为插入操作返回的id,可在日志中看到。

    删除一条笔记也很方便,看onListItemClick 方法:

?
1
noteDao.deleteByKey(id);

    DAO中还有很多方法,如loadAll和update,可以探索一下。


数据模型和代码生成

    要继承note类或者创建新的实体,就看看DaoExampleGenerator 项目。其中只有一个类,包含了数据模型定义的代码:

?
1
2
3
4
5
6
7
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对象,再往其添加实体。一个实体类关联着一张数据库表。实体包含属性,映射数据库中的字段。


本文转自:http://my.oschina.net/u/1052509/blog/312490

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值