kotlin学习笔记——sqlite(anko)
1、ManagedSQLiteOpenHelper
dbHelper.use{...
}
即可。use函数的源代码如下:
public fun <T> use(f: SQLiteDatabase.() -> T): T {try {return openDatabase().f()} finally {closeDatabase()}
}
首先use接收一个SQLiteDatavase的扩展函数,所以可以使用this在大括号中并处于SQLiteDatavase对象中。这个扩展函数可以返回一个值。
2、创建表
object PersionTable{val TABLE = "Persion"val ID = "_id"val NAME = "name"
}
使用createTable来创建表
fun SQLiteDatabase.createTable(tableName: String, ifNotExists: Boolean = false, vararg columns: Pair<String, SqlType>)
第一个参数是表名
db.createTable(PersionTable.TABLE, true,Pair(PersionTable.ID, INTEGER + PRIMARY_KEY),Pair(PersionTable.NAME, TEXT))
3、SqlType和SqlTypeModifier
fun SqlType.plus(m: SqlTypeModifier) : SqlType {return SqlTypeImpl(name, if (modifier == null) m.toString()else "$modifier $m")
}
会返回新的SqlType,这样使用“+”操作符可以将多个装饰符组合起来。
4、to函数
public fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that)
这样上面的代码可以简化:
db.createTable(PersionTable.TABLE, true,PersionTable.ID to INTEGER + PRIMARY_KEY,PersionTable.NAME to TEXT)
5、parseList函数和RowParser、MapRowParser接口
6、parseOpt和parseSingle
kotlin学习笔记——sqlite(anko)相关推荐
- Kotlin学习笔记(1)- 环境配置
系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...
- Kotlin 学习笔记(八)—— Kotlin类与对象之接口
Kotlin 学习笔记(八)-- Kotlin类与对象之接口 Kotlin学习笔记系列教程 Kotlin 学习笔记(一)-- 概述.学习曲线.开发工具.参考资料 Kotlin 学习笔记(二)-- 基础 ...
- Kotlin学习笔记(3)- 语法
系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...
- Kotlin学习笔记(2)- 空安全
系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步!kotlin学习笔记系列首发简书和CSDN Kotlin学习笔记(1)- 环 ...
- kotlin学习笔记——枚举、封闭类
1.枚举 kotlin中提供类枚举的实现,与java相同.枚举可以带参数,如 enum Icon(val res: Int){MENU(R.drawable.menu),BACK(R.drawable ...
- kotlin学习笔记——重载操作符
Kotlin中有很多操作符可以使用,具体可以见kotlin学习笔记--操作符_There is a Bug!!!-CSDN博客 Kotlin的一个特点就是可以重载这些操作符,为操作符赋予不同的行为. ...
- Kotlin 学习笔记(七)—— Kotlin类与对象之属性与字段
Kotlin 学习笔记(七)-- Kotlin类与对象之属性与字段 Kotlin学习笔记系列教程 Kotlin 学习笔记(一)-- 概述.学习曲线.开发工具.参考资料 Kotlin 学习笔记(二)-- ...
- Kotlin学习笔记20 阶段复习2
参考链接 示例来自bilibili Kotlin语言深入解析 张龙老师的视频 lambda表达式 内联函数 Kotlin学习笔记 第三章 函数 高阶函数 lambda表达式 内联函数_积跬步 至千里- ...
- Kotlin学习笔记19 阶段复习1
参考链接 示例来自bilibili Kotlin语言深入解析 张龙老师的视频 基础部分 Kotlin学习笔记 第一章开始 第二章 基础_积跬步 至千里-CSDN博客 类与继承 Kotlin学习笔记 第 ...
最新文章
- CVPR 2020满分论文 | FineGym:面向细粒度动作分析的层级化高质量数据集
- Java四种引用简介
- 图(1)——图的定义和基本概念
- 进程process与线程thread
- golang包管理解决之道——go modules初探
- Eclipse导入项目常见问题----乱码问题03
- boost::math::fisher_f用法的测试程序
- java 正则提取及替换字符串
- 2018年大数据趋势
- MS SQL入门基础:触发器概述
- python3 提取url中域名部分_python 从网址(url)中提取域名和path
- Backtrader量化平台教程-跟踪止损单(十)
- html网页制作的图片打不开,网页中的图片打不开怎么办?原因与解决办法
- 云计算服务包括哪三种服务?怎么定义?
- 有孚网络协办“大数据助力精准医疗产业论坛”北京站圆满落幕
- Flutter 淡入淡出与逐渐出现动画
- 程序员写了个开源软件,完成了舔狗的绝地反杀...
- 【CTFhub】web-信息泄露-备份文件下载-网站源码_WriteUp
- vue-baidu-api地图标记点(自定义标记图标),设置标记点的优先级
- mysql建表时插入中文_Mysql新建表,插入中文时报错“Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column”问题...
热门文章
- [转]MacBook Pro上装三系统 OS X、Ubuntu、Win 7
- SQL 技巧-ORACLE
- 献给开发者的大礼--打造CSDN论坛专用阅读器(电脑报2006年11月6日 第44期)
- android的task任务栈
- Java Web学习(一)Web基础
- mysql 使用正则表达式查询
- XML原理及应用pdf
- C++标准转换运算符static_cast
- Android 小项目之--数据存储【Network】(附源码)
- pass information between XXX.Aspx and XXX.Aspx.cs