Android SQLite编程详解
SQLite 数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库、打开数据库、创建表、向表中添加数据、从表中删除数据、修改表中的数据、关闭数据库、删除指定表、删除数据库和查询表中的某条数据。下面我们分别来学习这些基本操作。
1.创建和打开数据库
在Android 中创建和打开一个数据库都可以使用openOrCreateDatabase 方法来实现,因为它会自动去检测是否存在这个数据库,如果存在则打开,不过不存在则创建一个数据库;创建成功则返回一个 SQLiteDatabase对象,否则抛出异常FileNotFoundException。下面我们来创建一个名 为”Examples_06_05.db”的数据库,并返回一个SQLiteDatabase对象 mSQLiteDatabase。
1 |
|
2.创建表
一个数据库中可以包含多个表,我们的每一条数据都保存在一个指定的表中,要创建表可以通过execSQL 方法来执行一条SQL语句。execSQL能够执行大部分的SQL语句,下面我们来创建一个名为table1 且包含3个字段的表。 具体代码如下:
1 2 |
|
3.向表中添加一条数据
可以使用insert 方法来添加数据,但是 insert 方法要求把数据都打包到 ContentValues 中, ContentValues 其实就是一个Map, key值是字段名称, Value值是字段的值。通过 ContentValues 的 put 方法就可以把数据放到ContentValues中,然后插入到表中去。具体实现如下:
1 2 3 4 5 6 7 8 |
|
4.从表中删除数据
要删除数据可以使用delete 方法,下面我们删除字段 “_id” 等于1的数据,具体代码如下:
1 2 3 4 |
|
5.修改表中的数据
如果添加了数据后发现数据有误,这时需要修改这个数据,可以使用updata方法来更新一条数据。下面我们来修改 “num” 值为0的数据,具体代码如下:
1 2 3 4 |
|
6.关闭数据库
关闭数据库很重要,也是大家经常容易忘记的。关闭的方法很简单,直接使用SQLiteDatabase 的 close 方法。具体代码如下:
1 |
|
7.删除指定表
这里我们使用execSQL方法来实现,具体代码如下:
1 |
|
8.删除数据库
要删除一个数据库,直接使用deleteDatabase 方法即可,具体代码如下:
1 |
|
9.查询表中的某条数据
在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关查询的方法,具体方法如下:
方法 说明
move 以当前的位置为参考,将Cursor移动到指定的位置,成功返回true, 失败返回false
moveToPosition 将Cursor移动到指定的位置,成功返回true,失败返回false
moveToNext 将Cursor向前移动一个位置,成功返回true,失败返回false
moveToLast 将Cursor向后移动一个位置,成功返回true,失败返回 false。
movetoFirst 将Cursor移动到第一行,成功返回true,失败返回false
isBeforeFirst 返回Cursor是否指向第一项数据之前
isAfterLast 返回Cursor是否指向最后一项数据之后
isClosed 返回Cursor是否关闭
isFirst 返回Cursor是否指向第一项数据
isLast 返回Cursor是否指向最后一项数据
isNull 返回指定位置的值是否为null
getCount 返回总的数据项数
getInt 返回当前行中指定的索引数据
下面我们就是用Cursor来查询数据库中的数据,具体代码如下:
1 2 3 4 5 6 7 8 9 |
|
转载于:https://www.cnblogs.com/ifonly/p/3542886.html
Android SQLite编程详解相关推荐
- android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)
数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据库和查询表中的 ...
- Android Sqlite数据库详解
在整理ContentProvider知识点之前要先整理Sqlite数据库的知识,因为ContentProvider中要使用到数据库. 步入正题:Sqlite的起源是一艘军舰上,一个数据库程序员觉得潜艇 ...
- 《Android游戏开发详解》一1.1 什么是编程
本节书摘来异步社区<Android游戏开发详解>一书中的第1章,第1.1节,译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.1 ...
- android编程断网的时候回调,Android Handler的详解及实例
Android Handler的详解 Handler我们常常用于通知主线程做相对应的操作,但是如果使用不但的话就会造成内存泄露,所以记录写正确的Handler写法. Handler handler = ...
- 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...
本节书摘来自异步社区<Android游戏开发详解>一书中的第1章,第1.6节函数(在Java中称为"方法"更好),作者 [美]Jonathan S. Harbour,更 ...
- 《Java和Android开发实战详解》——1.2节Java基础知识
本节书摘来自异步社区<Java和Android开发实战详解>一书中的第1章,第1.2节Java基础知识,作者 陈会安,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- 《Android游戏开发详解》一导读
前 言 Android游戏开发详解 作为对编程知之甚少或者毫无所知的初学者,开始学习Android游戏开发,可能会觉得就像是穿越陌生的星际的旅程.有太多的事情要尝试,太多的知识要学习,令人遗憾的是,还 ...
- android 7 apk 安装程序,Android安装apk文件并适配Android 7.0详解
Android安装apk文件并适配Android 7.0详解 首先在AndroidManifest.xml文件,activity同级节点注册provider: android:name="a ...
- Android中AMS工作原理,Android AMS启动详解
启动 在Android系统启动流程中中我们提到过,AMS是在system_service中启动的, //frameworks/base/services/java/corri/android/serv ...
最新文章
- java.sql.Exception:setString 只能处理少于 32766 个字符的字符串
- python程序设计报告-20194115 实验二《Python程序设计》实验报告
- python tk 获取鼠标事件_在Tkin中列出鼠标悬停事件函数
- 利物浦大学的对于学生多样性的保护的网站!有什么unbalanced issues 直接找这里就行!
- [vue-cli]vue-cli怎么解决跨域的问题?
- 数学家告诉你什么时候结束单身?!
- android 空白占位符,android textview空格占位符以及一些其他占位符汇总
- 对象可以创建数组吗_电脑零基础可以学习创建网站吗?
- MS CRM 2011 如何向自定义Ribbon按钮传递参数
- 【Python】基于Python的行政区划编码字典
- android 获取录音时长_Android、iOS录音时音量大小计算
- python数据分析与展示 嵩天_【学习笔记】PYTHON数据分析与展示(北理工 嵩天)
- iis 如何重启php,Windows下配置Nginx+PHP基本操作(启动、重启和退出)
- 微信小程序——订阅号和服务号区别
- 计算机格式化后,电脑格式化后需要重装系统吗_格式化电脑重装系统的方法步骤...
- Swarm(bzz)节点服务器配置要求
- no python application found, check your startup logs for errors错误解决
- H5页面的功能和表现形式有哪些
- [日常]mov文件转换为gif
- 2022年iFLYTEKA.I.开发者大赛疫情微博情绪识别挑战赛
热门文章
- c/c++函数指针(3)
- 讨论:.NET 4各项技术的应用前景,徐汇区网站设计
- 新站如何迅速提高流量和被百度收录的技巧绝版
- Python字符集编码和文件读写
- java spark es_JavaSpark写RDD到ES时指定文档ID的
- [Java] 蓝桥杯BASIC-14 基础练习 时间转换
- 蓝桥杯 ADV-102 算法提高 单词个数统计
- 蓝桥杯 BASIC-14 基础练习 时间转换
- 旧版java_Java旧版本清理|JavaRa旧版本清理下载_V2.4 官方版_9号软件下载
- python是一种代表简单主义思想的语言_setuptools-36.6.0