SQLite 数据库的学习
什么情况下我们才用数据库做数据存储?
大量数据结构相同的数据需要存储时。
创建数据库的步骤
(1)创建一个类继承SQLiteOpenHelper 。
public class MySqliteHelper extends SQLiteOpenHelper
2.重写一个构造方法 实现2个方法oncreate() ,onupgrade()
构造方法的参数介绍:// context :上下文, // name 数据库文件的名称 , // factory :用来创建cursor 对象 默认为 null //version :数据库的版本号 从1开始 发生改变将调用onupgrade 方法。
super(context, "info.db", null,1);
oncreate
oncreate 方法是数据库第一次创建的时候会被调用,特别适合数据库版本号发生改变时才会执行,特别适合做表结构的修改
做表结构的初始化 执行sql语句 ,SQliteDataBase db 可以用来执行sql 语句
onupgrade
在数据库版本升高时执行。
2. 封装数据库安全的必要方法包括获取单例对象,打开数据库连接,关闭数据库连接。
获取单例对象:确保App运行时数据库只被打开一次,避免重复打开引起错误
打开数据库连接:SQLite 有锁机制,即读锁和写锁的处理 读调用 getReadableDataBase 写调用 getWritableDatabase
创建这个 帮助类的一个 对象,调用getReadleDatabase()方法 ,会帮助我们打开创建一个数据库 ;
3.提供表记录继续增加.删除.修改.查询.的操作方法
ContentValues 方法映射Map提供put和get方法用来存取键值对 键只能是字符串 主要用来记录增加和删除操作
查询操作 使用游标类Cursor 调用query 和rawQuery方法 返回的是cursor对象 ,根据游标的指示一条条遍历结果集合。
close 关闭游标。
moveToFirst:移动游标到开头。
moveToLast :移动游标到末尾
moveToNext :移动游标到下一条记录
获取 数量和类型取值
getCount 获取结果数量
getInt 整数型获取
getFloat 获取 浮点型
getString 字符串
getType 获取指定字段类型
不支持布尔类型 布尔类型要整数保存 直接保存入库是会自动转成0和1