Android23之轻量级数据库存储(Sqlite)
来源:互联网 发布:淘宝网卧室梳妆台 编辑:程序博客网 时间:2024/04/29 00:07
Sqlite数据库:关系型数据库
一、特点与描述:
1、Sqlite数据库,是一个非常轻量的关系型数据库(意思就是非常小,只占用内存的200多K),Android框架已经嵌入了sqlite原生库,
2、 sqlite3支持的数据类型:null、integer、text、real(实数)、blob(二进制大数据) 也支持其他的类型:varchar、nVarchar、decimal等,使用其他的类型会转化相对应的类型.
3、支持的操作:支持标准sql语句、表、视图、触发器、事务等
4、以文件的形式存放数据库文件,存放的是用户的私有数据,位置:/data/data/<packagename>/databases
5、 两个重要的API:SqliteOpenHelper、 SQLiteDatabase
二、访问数据库的流程
1、通过SqliteOpenHelper来创建或打开数据库, 编写类,继承SqliteOpenHelper
构造方法:作用是创建和打开数据库
onCreate():当数据库第一次创建的时候,回调此方法,初始化数据库,例如:创建表
onUpgrade:数据库版本的更新方法
2、通过SQLiteDatabase对象来操纵数据库
-增删改查操作,都必须借助SQLiteDatabase对象
-获取SQLiteDatabase:SqliteOpenHelper.getReadableDatabase() 或者SqliteOpenHelper.getWriteableDatabase()
两种方式的区别:Read..这种:只读取数据库中的数据,则使用它更好,例如查询 Write...:需要操作数据库中的数据,例如:增删改
-事务:不可分割,原子性 ,共进退 : 取钱 : 在账号扣钱 atm 拿到钱 其中任何一步出现异常,都会进行回滚操作,也就是恢复到原来的样子, 例子:模拟银行转账
为了更好的说明步骤2,请下如下图
写一个工具类DBUtils:进行数据库的操作,增删改查,事务等
//其中构造方法就将new DBHelper(继承自SqliteOpenHelper),拿到DBHelper的对象helper,因为每个方法中都需要使用该对象从而得到SQLiteDatabase对象来操作数据库
增加数据操作
修改数据操作
删除数据操作
//查询数据操作,
//查询操作,对游标的使用,
//事务的使用
接下来使用测试类来测试这些方法是否有用,测试类请看前面的文章,
//插入操作测试
//删除操作测试
//查询方法测试
//更新数据方法测试
//事务测试
如何得知操作是否正确进行了呢? 两种方法
第一种方法:/data/data/<包名>/databases/ 在此目录下有创建好的数据库,将其导出来,利用别的软件将其打开,
第二种方法:通过 sqlite3命令来查看数据库中的数据
- 进入linux环境 adb shell
- 进入到当前包的/databases/目录
cd /data/data/com.wuhao. sqlitetest/
- sqlite3 itcast.db
- 写sql语句
在进入linux环境 adb shell 时有些人会遇到这个问题, 出现此问题原因有二,一是你可能没打开android虚拟设备,二连接中断了, 解决方法,打开android虚拟设备, 重新连接Reset adb
正确进入linux环境下,如图所示:
使用cd 进入到/data/data/目录下, 可以利用ls查看到当前目录下所有的文件
使用了 这两步命令: ①cd /data/data/ ② ls
在进入到目标包名下的databases,在利用ls查看目录底下有什么东西,我的包名是com.wuhao.sqlitetest ,你们的不一样,
命令:①cd com.wuhao.sqlitetest/databases ②ls
能看到我们所创建的数据库名了,使用命令:sqlite3 book_db; 进入该数据库中
这样就成功进入到数据库中了,接下来就编写数据库语句就可以了,例如,查询所有数据,(前提是该数据库中有数据,不然查不到)
这样就可以检验我们编写的那些操作是否正确执行了,
一、特点与描述:
1、Sqlite数据库,是一个非常轻量的关系型数据库(意思就是非常小,只占用内存的200多K),Android框架已经嵌入了sqlite原生库,
2、 sqlite3支持的数据类型:null、integer、text、real(实数)、blob(二进制大数据) 也支持其他的类型:varchar、nVarchar、decimal等,使用其他的类型会转化相对应的类型.
3、支持的操作:支持标准sql语句、表、视图、触发器、事务等
4、以文件的形式存放数据库文件,存放的是用户的私有数据,位置:/data/data/<packagename>/databases
5、 两个重要的API:SqliteOpenHelper、 SQLiteDatabase
二、访问数据库的流程
1、通过SqliteOpenHelper来创建或打开数据库, 编写类,继承SqliteOpenHelper
构造方法:作用是创建和打开数据库
onCreate():当数据库第一次创建的时候,回调此方法,初始化数据库,例如:创建表
onUpgrade:数据库版本的更新方法
2、通过SQLiteDatabase对象来操纵数据库
-增删改查操作,都必须借助SQLiteDatabase对象
-获取SQLiteDatabase:SqliteOpenHelper.getReadableDatabase() 或者SqliteOpenHelper.getWriteableDatabase()
两种方式的区别:Read..这种:只读取数据库中的数据,则使用它更好,例如查询 Write...:需要操作数据库中的数据,例如:增删改
-事务:不可分割,原子性 ,共进退 : 取钱 : 在账号扣钱 atm 拿到钱 其中任何一步出现异常,都会进行回滚操作,也就是恢复到原来的样子, 例子:模拟银行转账
为了更好的说明步骤2,请下如下图
写一个工具类DBUtils:进行数据库的操作,增删改查,事务等
//其中构造方法就将new DBHelper(继承自SqliteOpenHelper),拿到DBHelper的对象helper,因为每个方法中都需要使用该对象从而得到SQLiteDatabase对象来操作数据库
增加数据操作
修改数据操作
删除数据操作
//查询数据操作,
//查询操作,对游标的使用,
//事务的使用
接下来使用测试类来测试这些方法是否有用,测试类请看前面的文章,
//插入操作测试
//删除操作测试
//查询方法测试
//更新数据方法测试
//事务测试
如何得知操作是否正确进行了呢? 两种方法
第一种方法:/data/data/<包名>/databases/ 在此目录下有创建好的数据库,将其导出来,利用别的软件将其打开,
第二种方法:通过 sqlite3命令来查看数据库中的数据
- 进入linux环境 adb shell
- 进入到当前包的/databases/目录
cd /data/data/com.wuhao. sqlitetest/
- sqlite3 itcast.db
- 写sql语句
在进入linux环境 adb shell 时有些人会遇到这个问题, 出现此问题原因有二,一是你可能没打开android虚拟设备,二连接中断了, 解决方法,打开android虚拟设备, 重新连接Reset adb
正确进入linux环境下,如图所示:
使用cd 进入到/data/data/目录下, 可以利用ls查看到当前目录下所有的文件
使用了 这两步命令: ①cd /data/data/ ② ls
在进入到目标包名下的databases,在利用ls查看目录底下有什么东西,我的包名是com.wuhao.sqlitetest ,你们的不一样,
命令:①cd com.wuhao.sqlitetest/databases ②ls
能看到我们所创建的数据库名了,使用命令:sqlite3 book_db; 进入该数据库中
这样就成功进入到数据库中了,接下来就编写数据库语句就可以了,例如,查询所有数据,(前提是该数据库中有数据,不然查不到)
这样就可以检验我们编写的那些操作是否正确执行了,
0 0
- Android23之轻量级数据库存储(Sqlite)
- Android学习之轻量级数据库SQLite
- SQLite 轻量级数据库简介
- 轻量级数据库SQLite
- 轻量级数据库 ----SQLite
- SQLite轻量级数据库--ContentProvider
- android sqlite轻量级数据库的基本运用之创建数据库
- Android存储之SQLite数据库
- android存储之SQLite数据库
- Android数据存储之SQLite数据库存储
- Android数据存储之SQLite数据库存储
- Android数据存储之SQLite数据库存储
- Android数据存储之:SQLite数据库存储
- 数据存储之SQLite数据库存储
- 文件存储之SQLite数据库存储
- Android 数据存储之SQLite数据库存储
- Android数据存储之SQLite数据库存储
- SQLite数据库存储之创建数据库
- JavaScript学习笔记04-函数
- 第一篇技术博客
- 【LQ系列】 BASIC-6~BASIC-10
- linux shell 编程笔记 - shell脚本之变量
- C语言栈内存的分配
- Android23之轻量级数据库存储(Sqlite)
- HDU 4027Can you answer these queries? 线段树
- ubuntu上安装jdk1.8
- Redis安装之Windows
- 仿美团外卖标题栏 上拉改变背景 默认背景透明 下拉隐藏控件
- CSAPP3e - x86-64 assembly code analysis - Bomb Lab: phase 2
- css格式化代码片段
- 打字练习
- scala笔记(二)