安卓用SQLite数据库存储数据

什么是SQLite?

SQLite是安卓中的轻量级内置数据库,不需要设置用户名和密码就可以使用。资源占用较少,运算速度也比较快。

SQLite支持:null(空)、integer(整形)、real(小数)、text(文本)|String(文本)|varchar(文本)、blob(二进制)这5种数据类型。

如何使用SQLite数据库?

在这之前先介绍一下SQLiteOpenHelper类。该类是安卓为了让用户方便管理数据库而提供的一个数据库帮助类。我们需要借助这个类来实现对数据的创建(也就是用户需要自己创建一个类来继承SQLiteOpenHelper类。比如自己创建类:MyDBOpenHelper)。

第一步:创建一个MyDBOpenHelper类继承SQLiteOpenHelper类。

1.在安卓目录模式下,找到包该APP的包,接着右键选择新建,接着创建一个包(比如:DB)。

安卓用SQLite数据库存储数据_第1张图片

安卓用SQLite数据库存储数据_第2张图片 

2.选中DB包,接着右击选择新建类,创建一个 MyDBOpenHelper类。

安卓用SQLite数据库存储数据_第3张图片

 安卓用SQLite数据库存储数据_第4张图片

3.在MyDBOpenHelper类中写继承SQLiteOpenHelper类。

安卓用SQLite数据库存储数据_第5张图片

4.将鼠标放在红色波浪线上,按Alt+Enter组合键解决该报错问题(由于SQLiteOpenHelper类是抽象类,所以需要在该类添加两个抽象方法)。

安卓用SQLite数据库存储数据_第6张图片 

安卓用SQLite数据库存储数据_第7张图片 

5.将鼠标继续放在红色波浪线上,按Alt+Enter组合键解决(添加帮助类的构造方法,选择参数少的第一种)。 

安卓用SQLite数据库存储数据_第8张图片

安卓用SQLite数据库存储数据_第9张图片 

 该种构造方法的参数:参数1为Context;参数2为数据库名;参数3为在查询数据的时候返回自定义的Cursor,一般都是传入null;参数4为数据库版本号。

二、定义数据库名称和数据库版本号。

在实际的过程中只保留第一个参数,后3个参数删除,并定义数据库名称和版本,修改一下代码即可,具体如下:

安卓用SQLite数据库存储数据_第10张图片

 这里定义了数据库名为:student.db,数据库版本为1。

在安卓中数据库的保存位置在:/data/data/工程的包名/databases/

三、定义建表语句。(创建数据表)

1.找到onCreate方法

安卓用SQLite数据库存储数据_第11张图片

 2.在onCreate方法中写创建数据表的语句。

在此方法中调用SQLiteDatabase的execSQL()方法去执行创建数据表。

如创建学生信息表stu_info 表中包含字段名(列名):学号 姓名 性别

sqLiteDatabase.execSQL("create table stu_info(id INTEGER primary key autoincrement,sno varchar(10),name varchar(10),sex varchar(10))");

安卓用SQLite数据库存储数据_第12张图片 

 四、添加数据(insert方法)。

这里我们借助SQLiteDatabase对象来对数据库进行增、删、查、改。

大致分为六步:

//1.定义数据库帮助类对象
//2.定义一个可以操作数据库的对象
//3.实例化数据库帮助类
//4.打开数据库的写权限
//5.创建一个Content Values对象并通过put方法来保存一行数据(其中put方法两个参数:字段名,值)
//6.使用insert方法实现添加数据

inset()方法语法:

insert(“表名”,“在没指定添加数据的情况下将为空的列自动设置为NULL”,“Content Values对象”)

其中Content Values对象用来保存表中一行数据。第二个参数一般用不到设置为null即可。

综上所述,可以以一下代码来表示这六步(这里是在主页面类):

安卓用SQLite数据库存储数据_第13张图片

上面在主页面的代码表示一运行APP就会向数据库中添加信息。put方法中写的字段的值是从控件中获取的(这里没有写控件所以会报错)。具体使用方法可以根据这个类推。比如点击一个按钮时执行添加向数据库中添加数据。

五、删除数据(delete方法)。

这里我们借助SQLiteDatabase对象来对数据库进行增、删、查、改。

大致分为五步:

//1.定义数据库帮助类对象
//2.定义一个可以操作数据库的对象
//3.实例化数据库帮助类
//4.打开数据库的写权限
//5.使用delete方法实现删除数据

delete()方法语法:

delete(“表名”,“条件=?”,“?占位符所代表的条件的取值”)

例如删除id字段等于12的一行数据:delete(“表名”,“id=?”,new String[]{"12"})

综上所述,可以以一下代码来表示这五步(这里是在主页面类):

安卓用SQLite数据库存储数据_第14张图片

上面在主页面的代码表示一运行APP就会删除数据库中id=12的数据。具体使用方法可以根据这个类推。比如点击一个按钮时删除数据。或者这个条件的值(这里指12)可以来源于输入框控件等。

六、查询数据(rawQuery方法)。

这里我们借助SQLiteDatabase对象来对数据库进行增、删、查、改。

大致分为五步:

//1.定义数据库帮助类对象
//2.定义一个可以操作数据库的对象
//3.实例化数据库帮助类
//4.打开数据库的读权限
//5.使用rawQuery方法实现查询数据并通过moveToNext()遍历结果后取出数据,最后通过set方式给用于显示查询结果的控件赋值显示出来。

rawQuery方法语法:

rawQuery(“查询语句……where=?”,“?占位符所代表的条件的取值”)

例如查询id字段等于12的一行数据:rawQuery(“select * from stu_info where id=?”,new String[]{"12"})

综上所述,可以以一下代码来表示这五步(这里是在主页面类):

安卓用SQLite数据库存储数据_第15张图片

 上面在主页面的代码表示一运行APP就查询数据库中id=12的数据。具体使用方法可以根据这个类推。比如点击一个按钮时查询数据。或者这个条件的值(这里指12)可以来源于输入框控件等。(红色波浪线报错用Alt+Enter解决即可)

七、修改数据(update方法)。

这里我们借助SQLiteDatabase对象来对数据库进行增、删、查、改。

大致分为五步:

//1.定义数据库帮助类对象
//2.定义一个可以操作数据库的对象
//3.实例化数据库帮助类
//4.打开数据库的写权限
//5.创建一个Content Values对象并通过put方法来保存一行数据(其中put方法两个参数:字段名,值)
//6.使用updata方法实现添加数据

updata方法语法:
updata(“表名”,Content Values对象,“条件=?”,“?占位符所代表的条件的取值”)

例如修改name字段等于张三的一行数据:updata(“表名”,Content Values对象,“name=?”,new String[]{"张三"})

综上所述,可以以一下代码来表示这六步(这里是在主页面类):

安卓用SQLite数据库存储数据_第16张图片

 上面在主页面的代码表示一运行APP就修改数据库中name为张三的性别为控件获取来的值。具体使用方法可以根据这个类推。比如点击一个按钮时修改数据。

你可能感兴趣的:(Android,Studio,版本:2022.3.1,数据库,sqlite)