美文网首页
Kotlin+sql打造存储系统

Kotlin+sql打造存储系统

作者: 我在东北玩泥巴_ | 来源:发表于2019-01-09 12:00 被阅读0次

嗯,这回就用kotlin实现sql的简单操作。

首先创建一个database类,用来实现增删查改,然后实现一个dbhelper类,用来构建sql字符串。

Dbhelper是继承sqlliteopenhelper类,所以要重载几个函数,两个就行,一个是oncreat,一个是onupgrade

override fun onCreate(db: SQLiteDatabase){    db.execSQL("create table main (_id integer primary key autoincrement," +            "name text," +            "count text," +            "time text," +            ")");

override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {    db.execSQL("alter table main add account varchar(20)")}

首先在插入数据的时候要判断数据库存不存在,不能没有表就硬插对不对?会崩溃的,插入数据就是实例化一个contentValues,然后往里面put数据,最后让database去insert即可,最后不要忘记关闭database

在插入的时候进行判重复,如何判断重复?一种是查询主表中有没有重复,而是查询有没有这个名字的副表,这次就查询主表中有没有,我们可以自己构造sql语句执行,不过这样比较麻烦,但是kotlin已经有一个sqldatabase类了,鉴于本身也用不着多么复杂的系统,于是就用这个类好了

删除的时候用删除的sql语句,注意的是删除时需要名字的字符串数组,而不是一个字符串,需要转换,转换也很简单,用arrayof(String)即可

我打算首先创建一个总表,放着计划名字,然后再创建一个表,表的名字就是计划名字,里面放的是目标

那么,填入一个计划,就创建一个表,删除一个计划,就删除一张表,我计划让dbhelper完成所有的sql语句构建操作,而database类则进行容错判断处理,那么到底是用Android类,还是简单的只是用sql语句呢?这个就要根据实际效果来看,实际上,这两者并没有什么不同,甚至,如果用sqldatabase,则省去了自己编写数据库操作类的步骤,实际上的确如此,既然能省掉,那我再用那个类去构建一个新类,岂不多此一举?或者说,我构建sql新类,本身就是多此一举?说实话,的确是这样,为了完整性,我还是用sql语句单独实现一个sql操作类,自己去实现一些,函数更简便,那么就再也不能用sqldatabase类了。

同时也不能这么说,sqldatabase的cursor是真的好用,或者说,把sqldatabase封装,而舍弃dbhelper才是王道。。。

下期再更。。。

相关文章

  • Kotlin+sql打造存储系统

    嗯,这回就用kotlin实现sql的简单操作。 首先创建一个database类,用来实现增删查改,然后实现一个db...

  • Vold

    Android 7.0 存储系统—Vold与MountService分析(一) Android 7.0 存储系统—...

  • Hadoop相关介绍

    分布式存储系统HDFS(Hadoop Distributed File System)POSIX 分布式存储系统 ...

  • 存储系统

    三层存储结构是:高速缓存,主存储器和辅助存储器。 高速缓存一般位于CPU与主存之间,容量在几千字节到几兆字节之间,...

  • 存储系统

    RAM和ROM RAM和ROM的存储器的存储介质是半导体存储器 RAM是易失性存储器,断电后存储的信息就会消失,但...

  • 存储系统

    计算机存储系统的层次结构 计算机采用分级存储体系的主要目的是为了解决存储容量,成本和速度之间的主要矛盾问题。 两...

  • 这样的spark你喜欢吗?

    BlockManager定义 BlockManager是Spark的分布式存储系统,与我们平常说的分布式存储系统是...

  • 【理论学习】Ceph功能模块与RADOS

    Ceph架构图 Ceph存储系统的逻辑层次结构大致划分为4部分: ◎ 基础存储系统RADOS ...

  • 前端nginx反代后端mogilefs存储实战实例

    一、MogileFS存储 1、MogileFS分布式文件存储系统 MogileFS是一个开源的分布式文件存储系统,...

  • Redis全面梳理

    一、什么是Redis: Redis是一款高速缓存数据库,使用C语言编写,是key-value存储系统(键值存储系统...

网友评论

      本文标题:Kotlin+sql打造存储系统

      本文链接:https://www.haomeiwen.com/subject/iqiwrqtx.html