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。
应该注意到,无需编写 “CREATE TABLE” SQL 脚本,greenDAO已经为你实现。
插入和删除笔记
现在有了一张关于笔记本的数据表,我们就可以填充一些笔记到数据库中。相关实现在NoteActivity类。在onCreate方法中准备了一个DAO对象:
看addNote方法,插入一条新的笔记到数据库如下:
创建一个实体并调用DAO的insert方法。当执行完inser方法,刚刚插入的note实体对应的id,将被赋值为插入操作返回的id,可在日志中看到。
删除一条笔记也很方便,看onListItemClick 方法:
3ff0
DAO中还有很多方法,如loadAll和update,可以探索一下。
数据模型和代码生成
要继承note类或者创建新的实体,就看看DaoExampleGenerator 项目。其中只有一个类,包含了数据模型定义的代码:
如上,先创建一个Schema对象,再往其添加实体。一个实体类关联着一张数据库表。实体包含属性,映射数据库中的字段。
本节将通过一个简单的示例项目带你入门。访问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对象,再往其添加实体。一个实体类关联着一张数据库表。实体包含属性,映射数据库中的字段。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories