优势:
1.存取速度快;
2.支持数据库加密;
3.轻量级;
4.激活实体;
5.支持缓存;
6.代码自动生成;

导入依赖:
项目中:

buildscript {repositories {google()jcenter()mavenCentral() // add repository}dependencies {classpath 'com.android.tools.build:gradle:3.5.0'classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' }
}

app中:

apply plugin: 'org.greenrobot.greendao' // apply plugin
 implementation 'org.greenrobot:greendao:3.2.2' // add library
greendao{daoPackage 'com.greendao' //生成dao 的包名targetGenDir 'src/main/java' //目录}

首先创建一个bean类:

@Entity//实体
public class Bean {//自增的ID@Id(autoincrement = true)long e_id;String name;}写完锤一下 会自动生成代码

完锤后自动生成三个类 路径是根据你上边 greendao 给的

再写一个工具类,也可以不写

工具类:

class My  private constructor(context: Context){var myDaoDao: MyDaoDaoinit {//第一种方法val devOpenHelper = DaoMaster.DevOpenHelper(context, "my", null)val writableDb = devOpenHelper.writableDbval daoMaster = DaoMaster(writableDb)val newSession = daoMaster.newSession()this.myDaoDao=newSession.myDaoDao//第二种方法
//        val newDevSession = DaoMaster.newDevSession(context, "my")
//        val myDaoDao1 = newDevSession.myDaoDao}//伴生  ——   单例companion object{private var my: My? =nullfun getmy(context: Context): My? {if(my==null){@Synchronizedif(my==null){my= My(context)}}return my}}//添加数据fun getinsert(myDao: MyDao){myDaoDao.insert(myDao)}//删除数据fun getdelet(myDao: MyDao){myDaoDao.delete(myDao)}//修改数据fun getupdata(myDao: MyDao){myDaoDao.update(myDao)}//查询数据(指定数据)fun getquest_count(name:String):List<MyDao>{val where = myDaoDao.queryBuilder().where(MyDaoDao.Properties.Name.eq(name)).list()return where}//查询数据(所有数据)fun getquest_true(name:String):List<MyDao>{val list = myDaoDao.queryBuilder().list()return list}//查询数据(模糊数据)fun getquest_like(name:String):List<MyDao>{val where = myDaoDao.queryBuilder().where(MyDaoDao.Properties.Name.like("%$name%")).list() return where}}

调用:
增加数据:

//因为id是自增长的 所以 nullMy.getmy(this)?.getinsert(MyDao(null,"张三"))

其他的差不多就不一一调用了,删除和修改前建议先查询一下
还有删除表和一些操作时自己注意 有坑 多去看看 自动生成的那三个类

安卓:Kotlin数据库框架GreenDao的使用相关推荐

  1. 安卓进阶系列-07数据库框架(GreenDAO)的使用

    GreenDAO的使用 简介 安卓提供了一个占用内存极小的数据库SQLite,也提供了不少操作数据库的API,然而不是所有程序员都擅长编写SQL语句,这时一个ORM的数据库框架就显得很好用了. 在之前 ...

  2. 安卓轻量级数据库框架-GreenDao3.2.2集成方案

    关于ORM的介绍 GreenDao概念 GreenDao设计目标和优点 GreenDao322的集成和使用 1 添加依赖 2 使用GreenDao3注解的语法来定义数据库实体类 定义实体类和主键ID等 ...

  3. Android数据库框架-GreenDao入门,阿里P8架构师Android大厂面试题总结

    // in the individual module build.gradle files } } 之后点击Sync Project 2.2. 在app的build.gradle中配置 apply ...

  4. Android GreenDao数据库框架

    ## Android GreenDao数据库框架 GreenDao简介 Android平台的对象关系映射工具(ORM) 为关系型数据库提供面向对象的接口 简化数据库操作 ORM框架 所谓ORM框架,即 ...

  5. Android数据库框架总结

    本文转自:http://blog.csdn.net/da_caoyuan/article/details/61414626 一:OrmLite 简述: 优点: 1.轻量级:2.使用简单,易上手:3.封 ...

  6. 安卓进阶系列-06数据库框架(LitePal)的使用

    LitePal的使用 背景 安卓内置了一个轻量数据库SQLite,然而很多时候使用SQLite是不方便的,更多开发者习惯服务器部署MySQL之类的数据库,而且复杂的SQL语言对于很多没有系统学习过数据 ...

  7. 数据库框架:GreenDao 实现原理

    数据库框架:GreenDao 实现原理 Android数据库greenDAO框架用法和源码分析 https://blog.csdn.net/duanyy1990/article/details/509 ...

  8. android 连接mysql orm_Android ORM框架 GreenDao 的使用详解

    一.前言 关于 Android 中常用的数据存储方式我们前面已经讲了 Sp 存储和文件存储,但是对于数据量比较大,并且结构复杂的数据我们想要存储只能通过数据库进行处理,Android 中提供了一个 S ...

  9. Android ORM框架 GreenDao 的使用详解

    一.前言 关于 Android 中常用的数据存储方式我们前面已经讲了 Sp 存储 和 文件存储,但是对于数据量比较大,并且结构复杂的数据我们想要存储只能通过数据库进行处理,Android 中提供了一个 ...

最新文章

  1. 云计算软件生态圈:摸到一把大牌
  2. 【图论专题】拓扑排序
  3. 在c语言中 十六进制转十进制,C语言中十六进制转十进制两种实现方法
  4. Qt 断言的使用 Q_ASSERT
  5. python: 判断字符串是否为合法的json格式
  6. 软测基础相关知识回顾
  7. C#事件的自定义声明
  8. 【Linux】系统移植篇四--uboot移植
  9. IDEA如何设置资源目录
  10. springboot实现微信公众号群发消息功能
  11. javax.crypto.BadPaddingException Given final block not properly padded?
  12. 台式计算机图形设置,如何打开计算机图形设置以提高游戏质量?
  13. 锁屏显示Activity
  14. Vue单页面中进行业务数据的上报
  15. rsyncd.conf 文件man手册翻译
  16. 案例驱动式Python学习笔记【第三篇】居民身份证信息提取
  17. Java设计模式博客全目录
  18. 在线任意进制转换工具
  19. AI简史--从1308到2016
  20. 服务器同步电脑文件夹在哪,把文件同步到服务器上

热门文章

  1. arduino/Mixly使用LGT8F328P
  2. 匿名四轴地面站V4.5使用方法研究
  3. MarkdownPad2安装、错误、激活码
  4. java转换时间格式 yyyy-MM-dd转成yyyy年MM月dd日
  5. ural1297 . Palindrome
  6. web4——bugku
  7. Frontend 当前前端的三种渲染方式
  8. 数字转字母python_将一串数字转换成字母python
  9. QA:MEID号申请、什么是MEID号、怎么申请MEID号、MEID号获取
  10. 上层点云分割(C++PCL)