1、android orm之greendao
2014-11-15 14:51
225 查看
前提:最近写android项目,android自带数据库api有点复杂,于是偷懒用了greendao。greendao好处自己查,这里不赘述,但是零基础的的我用起来还是费了3天的功夫,取之于网络,特在此奉献与网络。
1、通过daoGenerator生成所需要的关键文件
步骤1、新建的java工程,起名daoGenerator步骤2:导入两个jar包,分别是freemarker-2.3.20.jar和greendao-generator-1.3.1.jar,下载路径:http://search.maven.org,你可以在这里搜索上述两个包,自己导入到java工程中,
导入的时候记着不要有中文路径
步骤3:新建daoGenerator.java文件,文件格式如下
import de.greenrobot.daogenerator.DaoGenerator; import de.greenrobot.daogenerator.Entity; import de.greenrobot.daogenerator.Property; import de.greenrobot.daogenerator.Schema; import de.greenrobot.daogenerator.ToMany; public class daoGenerator { public static void main(String[] args) throws Exception { Schema schema = new Schema(1,"com.example.menu"); addMenuDetail(schema); addMenuTable(schema); new DaoGenerator().generateAll(schema, "./"); } private static void addMenuTable(Schema schema) { Entity menuTable = schema.addEntity("MenuTable"); menuTable.addStringProperty("menuName");//菜单的名称(周一早餐通用版) menuTable.addIntProperty("menuType");//0早餐 1午餐 2晚餐 menuTable.addLongProperty("menuId").primaryKey().autoincrement();//菜单id menuTable.addStringProperty("menuCreateTime");//菜单创建时间 menuTable.addLongProperty("storeId");//店铺的编号 } private static void addMenuDetail(Schema schema) { Entity menuDetail = schema.addEntity("MenuDetail"); menuDetail.addStringProperty("menuDateId"); menuDetail.addLongProperty("menuId");//菜单id menuDetail.addIntProperty("widgetId");//控件id menuDetail.addStringProperty("type");//控件类型:textview、pic、line、verticalLine、theme、tips menuDetail.addStringProperty("name");//控件内容 "疙瘩汤" menuDetail.addDoubleProperty("x");//x menuDetail.addDoubleProperty("y");//y } }
该工程运行完毕会在当前目录下产生一个文件夹com,进入example再进入到menu(为什么会产生这样一个文件夹,这是由我们在程序中 Schema schema = new Schema(1,"com.example.menu"), new DaoGenerator().generateAll(schema, "./");这两行决定的,如果你运行出错,请查看你是不是路径写错),可以发现生成如下几个文件:
//查看对应的menuTable表是否存在 QueryBuilder qb = menuDetailDao.queryBuilder(); qb.where(MenuDetailDao.Properties.MenuDateId.eq(CommonUtils.getNowDateString()+menu_type)); List listResult = qb.list(); QueryBuilder qbAll = menuDetailDao.queryBuilder(); qbAll.orderAsc(MenuDetailDao.Properties.MenuDateId); List listResultAll = qbAll.list(); for(int k =0;k<listResultAll.size();k++) { MenuDetail menu_detail_entity = (MenuDetail) listResultAll.get(k); CommonUtils.LogWuwei(tag, menu_detail_entity.getName()+" "+ menu_detail_entity.getMenuDateId()); }
View Code
3、自学的时候借阅了很多资料,如果恰巧你刚接触到,你会用到的:
1、http://my.oschina.net/cheneywangc/blog/196354 greendao讲义,开源中国上的好文章2、http://www.sllbeta.com/android/3/
3、http://greendao-orm.com/ 这个是官网,最权威的网站了
4、我是从哪里听说到这个greendao的呢,这得益于github上一个开源工程,在这个开源工程中,汇聚了android开发过程中开发者都有可能用到的,见下网址:
https://github.com/Trinea/android-open-project
5、http://blog.csdn.net/lan120576664/article/details/36204833(适合新手看看)
4、赠送所有开发者一句话,多看官网文档,如果需要看官网api,推荐一个工具,就是mac下的dash,dash支持代码片段和官网api(api包括很多,绝对是你想象不到的)
相关文章推荐
- Android ORM数据库框架之-greenDao(四)
- Android ORM系列之GreenDao关联关系映射
- Android ORM 框架:GreenDao的使用,只需看一遍就会
- Android 简单了解ORM/GreenDao(GreenDao3.2.0使用教程)
- Android ORM 框架:GreenDao 使用详解(基础篇)
- Android之greenDao,一个orm的使用
- Android ORM之GreenDao学习
- Android ORM——初识greenDAO 3及使用greenDAO 3前应该掌握的一些知识点(一)
- Android GreenDAO ORM的使用(一) 生成DAO和Bean
- Android ORM 框架:GreenDao 数据库升级
- Android之greenDao,一个orm的使用
- Android ORM数据库之GreenDao使用教程及源码分析
- 开源库greenDAO在Android ORM中的使用经验
- Android ORM——greenDAO 3之Properties、QueryBuilder与数据库的增删改查的基本语法应用(二)
- android开发步步为营之77:android数据库ORM之greenDAO
- GreenDAO-Android 轻量级ORM数据库框架
- 【Android】ORM数据库框架之GreenDao快速入门与使用
- 【Android】ORM数据库框架之GreenDao【关联】关系操作
- Android ORM 框架:GreenDao 数据库升级
- android中ORM(对象关系映射)数据库greenDAO的使用