您的位置:首页 > 移动开发 > Android开发

greenDAO系列2--如何开始

2015-12-18 11:20 435 查看
摘要: 本节将通过一个简单的示例项目带你入门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。

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


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

插入和删除笔记

现在有了一张关于笔记本的数据表,我们就可以填充一些笔记到数据库中。相关实现在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());


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

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

3ff0

noteDao.deleteByKey(id);


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

数据模型和代码生成

要继承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对象,再往其添加实体。一个实体类关联着一张数据库表。实体包含属性,映射数据库中的字段。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android sqlite greenDAO