位置: 编程技术 - 正文

Android SQLite, KopDB 框架学习1——使用

编辑:rootadmin
前言

推荐整理分享Android SQLite, KopDB 框架学习1——使用,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

我的博客: 最近项目中要用到数据库,因为之前需要本地存储的数据量并不是非常大,SharedPreferences 足以解决大部分的数据存储问题,所以,我们一直没有用到 SQLite。现在产品需要优化私信模块体验,所以增加私信本地存储是非常必要的。这时候用上 SQLite 就非常必要了。好在我们的老大之前就已经封装好了一份非常完善的数据库框架了,拿来就能用。看了源码研究了一天,大概有了写心得体会,整理出来,学习使用。

就给他起名叫 KopDB 吧(Kop 是我们老大打 log 的时候用的 tag),KopDB 采用的是对象关系映射(ORM)的模式,并将我们平时开发时最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表、増删改查的操作。

这篇文章主要讲的只是 KopDB 的使用,具体分析我会在下篇文章中。

Github 项目地址,里面包含了 lib 和对应的 demo,欢迎 Star

主要的使用方式非常简单:

先给出 demo 中的数据 model 模型方便后面阅读理解:

其中 id 的写法就表示它是主键啦,注意:必须继承 BaseModel 。

1、初始化:

其中 dbName 就是数据库名字;version 版本这里使用的是 versionCode,这样每次升级版本号以后数据库都会升级一次。当然你也可以自己定义;list 就是需要存到数据库的映射模型列表,它必须继承自 BaseModel。初始化完成以后,数据库和表就都已经给我们创建好了。

根据对象关系映射模式的理念就是每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张 person 表,就应该有一个对应的 Person 模型类。

2、insert 数据

一行代码就能搞定:

如果想要监听插入是否失败,则可以调用如下 insert 方法

当然,如果我的数据是一个 list 的形式的,也可也直接插入,而不需要写 for 循环一条一条插入,

3、update 数据

同样也是一行代码的事情:

Android  SQLite, KopDB 框架学习1——使用

他同样支持4个重载方法,insert 没有实际给出,这里给出他的四个重载方法,insert 类似

4、replace 数据

同样也是一行代码就能搞定啦,同样支持4个重载方法:

5、delete 数据

同样也是喔,其中 whereClause 是 delete 的条件,whereArgs就是 whereClause 的占位符啦:

举个例子,删除 id 为 1 的数据

这就表示删除 PersonModel 表中的 person_id 为 1 的数据。

6、select 数据

如果需要查询整张表的数据,只需要按照下面的写法就可以咯:

其实这么写还是多余了。所以,我觉得我应该添加这么个方法:

这么来看,就方便多了,如果我需要查询整张表的数据,直接调用这个方法就可以了,当然如果你想对 select 方法进行扩展的话,完全可以重载更多的 select 方法来进行实现。

其中 SQLiteDateBase 的 query 方法如下,可以根据这个方法的参数对应这来重载 select 方法,参数都是相同的:

怎么样,是不是非常简单呢,我们不需要考虑如何实现 SQLiteOpenHelper 也不需要考虑那些复杂的 SQL 情况。

这篇博客主要讲述的是如何使用 KopDB 框架,下一篇博客,我会对这个框架的实现进行具体的分析,以加深印象,方便以后的扩展和学习。

本篇文章对 SQLite 的讲解不是非常的细致,有关 SQLite 的详细说明可以参照这两篇博文,非常非常详细:

郭霖: Android数据库高手秘籍

scott: Android中SQLite应用详解

Android中的警告对话框(AlertDialog)使用案例 创建AlertDialog对话框的步骤:1、获得AlertDialog的静态内部类Builder对象,由该类来创建对话框。2、通过Builder对象来设置对话框的标题、按钮及按钮将要响

[置顶] Android从零单排之自动跟新 Android从零单排之自动跟新转载请注明出处:

Android WebView和JS交互 基本思路,使用WebView加载一个包含js的本地html,html中包含一个输入框,一个按钮,还有一个Label.点击html中的按钮,将输入框中的传给Android通过toast显示出来,

标签: Android SQLite, KopDB 框架学习1——使用

本文链接地址:https://www.jiuchutong.com/biancheng/384283.html 转载请保留说明!

上一篇:Linux下编译Android平台的ffmpeg库(linux0.11编译)

下一篇:Android中的警告对话框(AlertDialog)使用案例(android错误报告)

  • 个人出租非住房房产税怎么计算
  • 进项税额转出要交企业所得税吗
  • 中税税务咨询
  • 增值税应纳税额是要交的钱吗
  • 土地税房产税会计分录
  • 夏天单位发防暑物品的通知
  • 小微企业开专票税率是1%还是3%
  • 报表中的存货是如何填报的
  • 总公司签合同发票由分公司开可以吗
  • 收到投资款怎么做账
  • 公司购买汽车可以抵扣吗
  • 准予结转以后年度怎么算
  • 捆绑销售如何做会计处理合适?
  • 固定资产报废废铁收入需要交税吗
  • 企业职工支付条例
  • 自营建造固定资产的账务处理
  • 有限公司结业清算
  • 一张报关单可以分批退税吗
  • 税控盘抵扣增值税怎么做账
  • 年收入12万申报人数
  • 网上勾选认证每月时间要求
  • 股东个人借款用于公司怎么处理
  • 在建工程转固定资产当月提折旧吗?
  • 进项和销项单价的比例
  • 防洪保安基金应用范围
  • 个人独资企业出资额是注册资本吗
  • 个人劳务费增值税税率是多少2023
  • 营业执照副本编号是指什么
  • 申请商标发生的费用应该如何入账?
  • 代扣税款手续费管理办法
  • 境外代扣代缴企业所得税的计税依据包含企业所得税嘛
  • 股东以非货币出资办理什么手续
  • vue的watch监听
  • php plates
  • 销售赔偿款增值税和所得税
  • 手把手教你如何从一无所有到财务自由
  • 14个Python处理Excel的常用操作,非常好用
  • showmount命令安装
  • linux执行php脚本
  • 支付货物运费计入什么科目
  • 无形资产资产处置损益和营业外收入
  • 帝国cms文件夹介绍
  • 小规模劳务派遣公司税率
  • 企业固定资产折旧可以按照其价值和使用情况
  • 固定资产净残值和净值的区别
  • 坏账准备的借贷方向代表什么
  • 超市的库存商品是怎么记账的
  • 资产现金流量收益率为什么不是净利润除以平均现金流量
  • 以前年度损益科目编码
  • 财政补助资金不需要政府采购
  • 计划成本法下的会计科目
  • 个人所得税缴纳标准怎么计算
  • 高新企业税收减免多少
  • 盈余公积转增实收资本对会计要素的影响
  • 商誉的算法
  • 出口退税转为免税处理有损失吗
  • 结存成本会计分录
  • 一般要做代理,授权书有什么用
  • mysql命令行导出表结构
  • windows10 mobile最后更新
  • iphone看mac
  • xp系统个性化
  • 图片缩略图是什么意思
  • centos7如何设置固定ip
  • centos7查看性能监控
  • win8系统硬盘怎样分区
  • windows 8 开发者预览版
  • 介绍一个简单的实验
  • node.js 定时任务
  • Unity小贴士 导出资源文件和简单加密方式
  • unity mobile3d
  • dom操作的方法
  • js验证正则表达式
  • js数组用法
  • 税务 涉税中介
  • 新能源审核多久
  • 安徽省合肥市地震多少级
  • 车船税保险公司代收代缴后,单位还申报不?
  • 特价机票包含燃油费和机场建设费吗
  • 天猫主体变更是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设