GreenDao是现在大家评论说在android开发中,数据库框架效率最好的一个.以前一直在使用原生的,虽然感觉什么自己都可以控制,可是写起来,改起来有点恶心,所以正好借个机会,来使用一下GreenDao.我使用的开发工具是android studio.

GreenDao说实话,它在引入的时候有点恶心,不像别的第三方框架,只要引入一个compile 'XX.XXX.1.0'这样,就可以使用了,它不行.所以今天我就把在android studio中如何引入做一个记录.
       我们先去https://github.com/SureCase/GreenDaoForAndroidStudio上把下载它的代码.
      然后我们开始进行配置
     1, 在/app/src/main/下建立文件夹java-gen,这个文件夹是与java平级的,当然了.我使用的是project视图.如下图:

为什么要起一个名字叫java-gen的文件夹名呢.这里我们留一个疑问,一会就会知道了
         2, 打开app文件夹下的build.gradle文件,在里面添加
            sourceSets {
                 main {
                       java.srcDirs = ['src/main/java', 'src/main/java-gen']
                 }
           }
        这句话的意思就是把java-gen文件夹下的java文件也归入srcDir中,这是因为GreenDao的逻辑是通过其提供的一套java se代码配置后自动在java-gen生成对应的文件,DaoMaster.java,DaoSession.java,**DAO.java这三个文件,我们在程序中主要是调用这里面的类来操作数据库的.
        现在有点明白为什么我们要建一个叫java-gen的文件夹了吧,后面我们还会看到.
        3,还是在这个build.gradle文件里,引入dependencies
           dependencies {
                compile 'de.greenrobot:greendao:1.3.7'
           }
          build.gradle文件如下图:

OK,基础配置已经完成了,不要以为这样你就可以使用了,这是不可能的,我们刚才说了,它需要运行它的java se文件来生成三个java文件的,还记得一开始我们下载的文件吗,好的解压它,找到里面的MyDaoGenerator文件夹,它把复制到工程当中,位置就是根目录下,它要与app文件夹是同级的.如下图:

复制完成之后,我们要把MyDaoGenerator include到工程当中,打开根目录下面的setting.gradle文件,在里面添加上':MyDaoGenerator ',如下图:

这些设置完成之后,我们就要设置MyDaoGenerator文件夹里面的build.gradle文件了,要为它设置一下输出路径,还记得java-gen吗,这个文件夹的名字,就是在这里设置的,我们使用了系统默认给出的,主要是为了别人看着方便,自己也方便,修改代码如下:
    def outputDir = "../app/src/main/java-gen"
    整体代码:如图

看到了吧,它给的例子里面,没有def,如果不加这个,编译会一直出错,上网查了一下,才发现是这里的问题,坑爹啊.
    OK,到了这里,我们的配置算是配置完了,整个GreenDao框架的环境算是架上了.不对吧,这里好像少了点什么,对的,三个文件还没有呢,而且java-gen文件夹还是空的,这怎么用啊.下面我们先来生成一下这三个文件.
    1, 在MyDaoGenerator中,/src/main/java/pl.surecase.eu中打开MyDaoGenerator.java文件,我们在这里修改一下,

       public class MyDaoGenerator {public static void main(String args[]) throws Exception {//初始化一下数据库//第一个参数是版本号,第二个参数是为你生成的bean类放的文件夹名Schema schema = new Schema(1, "greendao");//设置一下生成的三个java文件的目录schema.setDefaultJavaPackageDao("com.guangda.dao");//建立一个表Entity userBean = schema.addEntity("Users");//此行可有可无,就是对表进行重命名userBean.setTableName("Users");//此行被注,因为加上引行,下面的字段总会少一个.不知道为什么//userBean.addLongProperty("id").primaryKey().index().autoincrement();//建立自增的主键userBean.addIdProperty();userBean.addStringProperty("uSex");userBean.addStringProperty("uTelphone");userBean.addStringProperty("uAge");userBean.addStringProperty("uName");new DaoGenerator().generateAll(schema, args[0]);}}

在这里说明一点,如果我们要对数据库里面的表字段进行修改,只要将版本号,改高一级,然后在
       new DaoGenerator().generateAll(schema, args[0]);前面再加上新字段再重新生成一下就OK了.
      好,设置完这个,让我们来生成一个吧.
      选择Gradle面板,点上面的刷新按钮,将工程刷新出来,然后选择:MyDaoGenerator->Tasks->application双击下面的run.
      如下图:

等运行完了,就会发现在java-gen文件夹下已经生成了所需求的代码.
      如下图:

OK了,到此GreenDao在android studio中的配置算是设置好了.下一节,我们来看一下,如何使用它.

GreenDao的简单使用说明(一)android studio中引入GreenDao相关推荐

  1. Android Studio中引入RecyclerView的v7包

    本文转载自[http://blog.csdn.net/a10615/article/details/51268022] 一直知道RecyclerView可以代替ListView.GridView使用, ...

  2. 在 Android Studio 中创建一个简单的 QQ 登录界面

    一,创建一个新的 Android Studio 项目 打开 Android Studio,选择 "Start a new Android Studio project",然后填写应 ...

  3. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发1

    [Android开发]Android Studio中进行简单的WebView构建浏览器开发 第一步:新建一个Android Project 第二步:修改AndroidMainfest.xml文件 第三 ...

  4. 【Android开发】Android Studio中进行简单的WebView构建浏览器开发2

    [[Android开发]Android Studio中进行简单的WebView构建浏览器开发2 第1步:在上一篇博客的基础上,修改activity_main.xml 第2步:在MainActivity ...

  5. Android开发——Android Studio中配置及使用OpenCV示例

    from: http://www.mobile-open.com/2015/86176.html 本文主要讲述了Android Studio中配置及使用OpenCV示例,现在整理出来分享给Androi ...

  6. Android如何使用so文件和Android studio中导入so

    Android中使用so文件: 做一个PDF阅读的功能,找到一个开源的库,mupdf.下载的是网上编译好的so库,导入到自己项目中的时候一直报错Java.lang.UnsatisfiedLinkErr ...

  7. Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发

    Android NDK开发之旅(2):一篇文章搞定android Studio中使用CMake进行NDK/JNI开发 (码字不易,转载请声明出处:http://blog.csdn.NET/andrex ...

  8. android studio annotations,AndroidAnnotations在Android Studio中的配置

    AndroidAnnotations是一款功能很强大的注解框架,具体使用我就不介绍了,大家可以自行百度了解.在eclipse的配置也比较简单,但是在android studio中的配置好像 Andro ...

  9. Android Studio中ButterKnife插件的安装与使用

    此文章来自http://www.jianshu.com/p/fe3c20f3ac27点击打开链接 Android Studio中ButterKnife插件的安装与使用 最近用到Android Butt ...

最新文章

  1. Deployment详解
  2. 浏览器左上角的小图标怎么整不掉_Honeyview:蜂蜜浏览器
  3. 机器学习实验中的编程技术(part4)--模型持久化
  4. BTrace for Java应用程序简介
  5. 26-- 转换成小写字母
  6. thinkphp mysql高并发_WBB - ThinkPhp高并发提交如何保障数据正常
  7. 2022年推出?特斯拉人形机器人被批就是个笑话
  8. java 多线程 信号量_Java核心-多线程(7)-并发控制器-Semaphore信号量
  9. linux看磁盘空间du df,df与du查看磁盘空间使用不一致的解决方法
  10. pandas.iloc, pandas.loc用法
  11. Skyline软件二次开发初级——4如何在WEB页面中的三维地图上使用弹出框Popups
  12. mysql取值范围1-10_mysql各种数据类型取值范围
  13. html 图片滑动验证码,html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】...
  14. win10创建局域网服务器
  15. RuntimeError: The size of tensor a (22) must match the size of tensor b (32) at non-singleton dimens
  16. 惊爆:普通人也能监听你MSN聊天(转)
  17. python函数之enumerate()快速打印出列表中的元素以及对应的下标
  18. PS通道高反差保留计算人物磨皮技巧
  19. 软件分类(自由软件、开放源代码软件、公共软件......)
  20. CAJ文献如何转成PDF?免费全篇转换的方法

热门文章

  1. [图形学] 射线和线段之间的最小距离
  2. android odex版本调试_Android开启odex开关和开机速度优化
  3. 【软件测试】性能测试工具基础-loadrunner12+jmeter
  4. html5 调起电话、短信、qq临时会话
  5. 安卓仿支付宝信用评分体系动画图
  6. Linux应用程序开发:进程的一些事儿
  7. Bundle传递集合对象
  8. Linux上批量清空日志文件(非删除)
  9. HZNUCTF REVERSE Signin题解——upx壳区段改名修复,动态调试脱壳
  10. Excel教程大全之用于数据预处理的基本功能