Android23之轻量级数据库存储(Sqlite)

原创 2016年05月30日 21:12:11
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;  进入该数据库中
图片
           
这样就成功进入到数据库中了,接下来就编写数据库语句就可以了,例如,查询所有数据,(前提是该数据库中有数据,不然查不到)
图片

这样就可以检验我们编写的那些操作是否正确执行了,
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android开发轻量级数据库SQLite

android开发app难免要存储一些数据到本地,作为缓存,这就要用到安卓系统的SQLite 数据库用于存储数据,数据以文档的形式存到本地外部存储空间。 SQLite与mySQL存储方...

3.1Android中,Sqlite轻量级数据库的使用

SQ.Lite是轻量级的数据库,是遵循ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式开发,值得注意的是 integer primary key只能存储64位整数。 在...

快速&轻量级的 Android SQLite ORM 映射框架,尽可能的简化数据库操作。

快速&轻量级的 Android SQLite ORM 映射框架,尽可能的简化数据库操作。

Android创建轻量级数据库SQLite

//****创建一个类继承SQLiteOpenHelper package com.example.database; import android.content.Context; import...

Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite

Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文Android数据库框架——ORMLite轻量级的对象关系映...

android sqlite轻量级数据库的基本运用之创建数据库

文件存储和SharedPreferences存储毕竟只适用于去保存一些简单的数据和键值对,当需要存储大量复杂的关系型数据的时候,你就会发现以上两种存储方式很难应,所以这个时候我们需要sqlite的帮助...

android 建数据库 SQLite 存储sd 卡或者内存

android 创建数据库调用SQLiteOpenHelper,一般不直接操作SQLiteDatabase , 是通过SQLiteOpenHelper来获取 public clas...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)