Android SQLite

Posted 昕无旁骛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android SQLite相关的知识,希望对你有一定的参考价值。

SQLite使用

一、SQLiteOpenHelper

SQLiteOpenHelper是个抽象类,所以需要实体类去继承它

提供两个抽象方法onCreat()和onUpgrade()用来创建和升级数据库

提供两个实例方法

getReadableDatabases()和getWritableDatabases(),这两个方法都可以创建或返回一个可读写的数据库,不同的是当数据库不可写入时(如磁盘空间满),那么getReadableDatabases()将会以只读的方式打开数据库,而getWritableDatabases()则会出现异常,所以平时使用推荐 getReadableDatabases()方法

SQLiteOpenHelper有两个构造方法(可重写),一般使用参数少的那个构造方法。

此方法接收4个参数

1.Context

2.数据库名称

3.第三个参数允许我们在查询数据库的时候返回一个自定义的Cursor,一般直接传入null,如果需要 传入一个cursor对象即可,在构造方法中 对应SQLiteDatabases.Cursorfactory cursor

4.传入一个当前版本号,用于升级数据库

 

二、使用SQLite进行增查改删(CRUD)

1.添加数据

  getReadableDatabases()和getWritableDatabases()两个实例方法会返回一个数据库实例对象,创建使用ContentValues类型对象用来装载数据,ContentValues对象提供了put()方法的多个重载,只需在put()方法的参数列表中以("字段名","值")的形式添加即可,然后调用数据库实例对象的insert()方法来插入数据,insert()方法需要三个参数,第一个是 表名 ,第二个是 用于未指定添加数据的情况下给某些可为空的列自动赋值NULL,一般不需要,直接传入null, 第三个是 ContentValues对象。如图↓

2.更新数据

更新数据,系统为我们提供了一个updata()方法,这个方法第一个参数和insert()方法一个 也是表名,第二个参数是 ContentValues对象 , 第三第四个参数是用来约束更新某一行或几行的数据,不指定 默认更新所有行, 如图↓

3.删除数据

删除数据相比较其他三种方法最为简单,因为删除不需要传ContentValues对象过去,所以系统提供的delete()方法需要三个参数,同样第一个 还是表名 ,毕竟咱们得知道 咱们要操作的是哪张表嘛,然后第二第三个参数用于约束删除某一行或几行,不指定 默认删除所有行。 如下图↓↓↓

4.查询数据

这特么才是重头戏,毕竟SQL的全称是 Structured Query Language(结构化查询语言),很明显 查询才是重中之重啊!!!。

所以 系统提供的query()方法,最短的一个方法重载也需要7的参数

以上是关于Android SQLite的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQLite Android 中提交?

在sqlite android中删除一列

关于 SQLite android 中的数组

如何在sqlite android中进行更改

SQLite Android中未显示数据库表[重复]

在sqlite android中存储布尔值