当前课程知识点:Android应用开发基础 > 第十章 数据存储 > 10.2 数据库存储 > 10.2 数据库存储
上一节我们学习了Android的文件存储
和SharedPreference存储
这些数据存储方式
可以满足我们日常开发中
存储少量数据的需求
如果使用它们存储一些数据量较大
并且逻辑关系较为复杂的数据集
它们便显得较为笨拙和效率低下
那有没有更好的存储方案来解决此类问题呢
Google为Android系统内置轻便
又功能强大的嵌入式数据库SQLite
本节课我们将会深入地学习
如何在Android中使用SQLite数据库存储数据
现在学习使用SQLite之前
我们先简单了解一下SQLite数据库的特点
1.轻量级
只需要一个动态库可以享受它的全部功能
动态库的尺寸比较小
2.独立性
SQLite 数据库的核心引擎
不需要依赖第三方软件
3.隔离性
SQLite 数据库中所有的信息
比如表、视图、触发器等
都包含在一个文件夹内
方便管理和维护
4.跨平台
SQLite目前支持大部分操作系统
可以在电脑操作系统和多个手机系统运行
比如Android和iOS
5.安全性
SQLite 数据库通过数据库级别的
独占性和共享锁来实现独立事务处理
这意味着多个进程可以在同一时间
从同一数据库读取数据
但只能有一个可以写入数据
6.多语言接口
SQLite数据库支持多语言编程接口
简单地了解了一下SQLite数据库后
我们再来学习一下
如何在Android中编写应用程序
来使用SQLite执行数据的操作
我们通过一个例子来完成我们的学习任务
实现的功能就是将
一些个人信息存储到SQLite数据库
根据姓名删除数据库中的记录
根据姓名在数据库中查询并显示
根据姓名查询数据库并更改记录
Android提供的
SQLiteOpenHelper进行创建和升级
用户基于SQLiteOpenHelper创建数据库
SQLiteOpenHelper类方法如下表
1 MySQLiteOpenHelper构造函数
新建一个数据库
2 onCreate(SQLiteDatabase db)
新建一个数据库表
3 onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
数据库的升级使用
我们看一下如何在数据库中创建一个表
比如我们创建一个数据库Student.db
在数据库Student.db表下
新建一个数据表user
在Android中我们使用SQL变量
CREATE_USER来创建表
使用create table user这条SQL语句来创建
SQLiteOpenHelper实现过程如下
1 用户基于SQLiteOpenHelper
创建子类MySQLiteOpenHelper
实现构造函数MySQLiteOpenHelper()
将视图全局变量赋值给mCtx
2 通过sql语句创建数据库表
使用db.execSQL(CREATE_USER)
创建数据库表
3 更改版本号升级数据
使用db.execSQL(drop table if exists user)
来删除旧表
使用onCreate(db)创建新表
SQLiteOpenHelper
使用getWritableDatabase方法
获取SQLiteDatabase接口
进行数据库的操作
它的过程如下
1 SQLiteDatabase操作数据库的接口
如下表所示
1.1 insert
向数据库中插入一条数据
1.2 delete
根据查询的条件删除数据
1.3 update
根据查询条件更新数据
1.4 query
根据条件查询数据
2 数据库Cursor使用方法如下表所示
2.1 moveToFirst 移动游标到开头
2.2 moveToNext 移动游标到下一条记录
2.3 moveToLast 移动游标到结尾
2.4 getCount 获取查询结果的总数量
2.5 getInt getString 获取指定字段的值
对数据库的操作需要建立一个数据Bean类
如图所示
主要包括姓名 学号 班级 爱好等变量
增加数据库记录的流程如下
1 新建数据对象
2 分别存储数据库中的
姓名 学号 班级 爱好等字段
3 将数据存储到数据库
4 增加记录后的数据库如图所示
删除数据库记录的流程如下
1 获取查询姓名
2 根据姓名查询数据库并删除记录
更新数据库记录的流程如下
1 新建数据对象
2 分别更新数据库中的
姓名 学号 班级 爱好等字段
3 根据姓名查询数据库
并更新数据库记录
4 增加记录后的数据库如图所示
查询数据库记录的流程如下
1 根据名字查询数据库
2 如果没有名字查询所有数据库
3 根据数据库游标轮询所有数据
取出记录中的每一条数据
这就是数据库的增 删 改 查的全部功能
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统