设为首页 加入收藏

TOP

Kotlin入门(26)数据库ManagedSQLiteOpenHelper(三)
2019-09-01 23:14:02 】 浏览:64
Tags:Kotlin 入门 数据库 ManagedSQLiteOpenHelper
} fun deleteAll(): Int = delete("1=1") fun queryAll(): List<UserInfo> = query("1=1") }

因为ManagedSQLiteOpenHelper来自于Anko库,所以记得在UserDBHelper文件头部加上下面一行导入语句:

import org.jetbrains.anko.db.ManagedSQLiteOpenHelper

 

另外,有别于常见的anko-common包,Anko库把跟数据库有关的部分放到了anko-sqlite包中,故而还需修改模块的build.gradle文件,在dependencies节点中补充下述的anko-sqlite包编译配置:

    compile "org.jetbrains.anko:anko-sqlite:$anko_version"

 

现在有了用户信息表的管理类,在Activity代码中存取用户信息就方便多了,下面是往数据库存储用户信息和从数据库读取用户信息的代码片段:

    var helper: UserDBHelper = UserDBHelper.getInstance(this)
    //往数据库存储用户信息
    btn_save.setOnClickListener {
        when (true) {
            et_name.text.isEmpty() -> toast("请先填写姓名")
            et_age.text.isEmpty() -> toast("请先填写年龄")
            et_height.text.isEmpty() -> toast("请先填写身高")
            et_weight.text.isEmpty() -> toast("请先填写体重")
            else -> {
                val info = UserInfo(name = et_name.text.toString(),
                age = et_age.text.toString().toInt(),
                height = et_height.text.toString().toLong(),
                weight = et_weight.text.toString().toFloat(),
                married = bMarried,
                update_time = DateUtil.nowDateTime)
                helper.insert(info)
                toast("数据已写入SQLite数据库")
            }
        }
    }
    
    //从数据库读取用户信息
    private fun readSQLite() {
        val userArray = helper.queryAll()
        var desc = "数据库查询到${userArray.size}条记录,详情如下:"
        for (i in userArray.indices) {
            val item = userArray[i]
            desc = "$desc\n第${i+1}条记录信息如下:" +
                    "\n 姓名为${item.name}" +
                    "\n 年龄为${item.age}" +
                    "\n 身高为${item.height}" +
                    "\n 体重为${item.weight}" +
                    "\n 婚否为${item.married}" +
                    "\n 更新时间为${item.update_time}"
        }
        if (userArray.isEmpty()) {
            desc = "数据库查询到的记录为空"
        }
        tv_sqlite.text = desc
    }

  

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇sdk manager闪退 下一篇高通MSM8998 ABL的调试

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目