在android studio中用SQLiteOpenHelper()方法建立数据库

article/2025/10/8 2:13:06

在android studio中存储数据有三个方法,分别是:
(1)简单存储——SharedPreferences
(2)文件存储:
内部存储——应用程序私有文件
外部存储——SD卡
资源文件——只读( RAW 、XML)
(3)数据库存储——SQLiteDataBase

今天我们讲讲在android studio中利用数据库存储中的SQLiteOpenHelper()方法建立数据库
SQLiteOpenHelper中需要重载函数:
onCreate( ):利用SQL语句,在系统中创建数据库(表)功能
onUpgrade( ):利用SQL语句,在系统中升级数据库(表)功能
注:
onCreate()方法只有第一次数据库创建时会用到
onUpgrade( )方法在版本更新会用到

SQLiteOpenHelper中被调用的函数:
getWritableDatabase( ):获取一个可读写的SQLiteDatabase对象
getReadableDatabase( ):获取一个只读的SQLiteDatabase对象

创建数据库

1.新建一个类继承SQLiteOpenHelper
在这里插入图片描述
这里按Alt+Enter俩次添加构造方法
在这里插入图片描述

public class MySQLOpenHelper extends SQLiteOpenHelper {public MySQLOpenHelper(@Nullable Context context , @Nullable String name , @Nullable SQLiteDatabase.CursorFactory factory , int version) {super( context , name , factory , version );}

(1)这个方法里面是用来创建数据库的
context是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类
context其主要功能如下:
启动Activity
启动和停止Service
发送广播消息(Intent)
注册广播消息(Intent)接收者
可以访问APK中各种资源(如Resources和AssetManager等)
可以访问Package的相关信息
APK的各种权限管理

Context就是一个对APK包无所不知的大管家,大家需要什么,直接问它就可以了
(2)name是数据库的名字
(3)CursorFactory factory游标工厂,用来指向数据库里面的某一行
CursorFactory 用来创建游标的,默认值为null,指向一开始的位置
(4)version数据库的版本号
版本号只能增加,不能递减,要不然程序会崩溃

其他俩个方法是用来创建表的,接下来会讲到
我们继续构建数据库:
在 MySQLOpenHelper类中重构代码:

public class MySQLOpenHelper extends SQLiteOpenHelper {public MySQLOpenHelper(@Nullable Context context ) {//name是数据库名字,后缀加.dbsuper( context , "SQLite.db" , null , 1 );}

在MainActivity类中调用这个方法

MySQLOpenHelper helper=new MySQLOpenHelper( this );

然后再在MainActivity类中实例化数据库
添加代码如下

 MySQLOpenHelper helper=new MySQLOpenHelper( this );//创建一个可读可写的数据库SQLiteDatabase writableDatabase=helper.getWritableDatabase();//创建一个只可读的数据库SQLiteDatabase readableDatabase=helper.getReadableDatabase();

这个读者看需要自行构建代码,(只能存在一个)

我们的数据库创建完成了,接下来看看我们的数据库是否创建成功了呢
在看之前我们先运行我们的虚拟机,因为数据库是建立在虚拟机里面的,运行完之后我们去找创建的文件。
android3.0以前打开虚拟机中的文件是用导航栏中的Tools中Android,3.0以后为了提供的更新工具把它舍弃了
但我们可以通过View导航栏中Tool Windows中的Device File Explorer打开,找到data目录下的data下的程序的包名,找到创建的数据库(.db文件//另一个是相对应的日记文件),右键重新建立目录,然后用SQLite Expert Professional打开
SQLite Expert Professional下载地址:http://www.sqliteexpert.com
找到的文件如图
在这里插入图片描述
用SQLite Expert Professional 打开后如图
在这里插入图片描述
说明我们数据库已经创建好了


http://chatgpt.dhexx.cn/article/nEFssWxo.shtml

相关文章

如何建立数据库模型并且导入数据库

开发工具与关键技术:PowerDesigner 数据库基础 作者:卢雅婷 撰写时间:2019/05/27 通常我们拿到项目方案书的第一步是分析数据,并建立数据表,接着就是建立数据库,而数据库模型是建立数据库的基础&#xff0…

mysql使用sql脚本建立数据库

使用sql脚本建立数据库,可以方便各用户,各数据库之间的复制使用,下面将在cmd中完成上述操作: cmd中mysql基本操作: 1.连结mysql: C:\Users\WJ>mysql -h 127.0.0.1 -uroot -p123456 其中-h表示host 127.0.0.1表示地…

网站服务器建立数据库连接时出错,修复Wordpress博客网站“建立数据库连接时出错”错误记录 | 科技爱好者博客 -专注于树莓派(Raspberry Pi)...

访问我的另外一个Wordpress博客网站出错,错误提示是“建立数据库连接时出错”,经过排查数据库是正常运行的,在同一个服务器上的其他网站都访问正常,所以故障可以定位为这个网站内部出错,以下是具体的解决步骤和修复记录。 一、?问题详情 访问Wordpress博客网站,出现“建…

《数据库实验》实验一:建立数据库和基本表结构

前言 摘要:微信搜索【三桥君】 数据库课程是需要做些相关知识点的数据库实验报告的,三桥君根据自己所学所做的数据库实验,特地重新整理成教程。这些教程一共有6份,收录到《数据库实验》专栏了。 一、实验目的 1. 熟悉SQL Server…

C# 使用VS建立数据库并使用

前言:如果感觉使用SQL server太过于繁重,可以直接使用vs进行数据库的创建对表的操作等一些简单的操作 下面就看图开始吧特别简单! 第1步:找到菜单栏中的视图打开服务器资源管理器 第2步 找到数据连接右击鼠标点击添加连接 第3步 …

如何建立数据库

按windowsR进入自己操作小黑窗口操作页面后输入cmd 输入自己的MySQL 用户名(前提是自己建立过MySQL)等如下图所示 输入自己的密码 将编码设置为统一编码utf8(这里只能输入小写) 建立数据库名称为score 使用数据库 建立班级信息表…

数据库学习笔记【自学教程】—— 如何建立数据库

发布时间:2021.10.13 PS:本项目将在D盘下创建名为Test的文件夹(D:/Test) 。如若想修改文件位置,需在后续代码中一并修改。 点击工具栏 “新建查询” 或者 使用快捷键 Ctrl N > 打开查询分析器 SQL Server 中,一个…

wordpress建立数据库连接时出错

wordpress建立数据库连接时出错,mysql8.0。 先确认是否是以下场景: 1、表单信息正确无误 2、安全组配置已更改 3、数据库远程连接已开启 4、数据库在3306端口正常运行并可连接 5、本地无法远程连接数据库 ping了一下3306,并没有连接上。 …

网站服务器建立数据库连接时出错,WordPress提示建立数据库连接出错的解决办法...

很多新手使用 wordpress程序建站初期,会遇到页面提示:建立数据库连接出错,英文提示:“Error establishing a database connection”。那么遇到这种情况大家会很头疼,我到底哪里操作不对呀?本文中老魏就实际遇到的此类情况做详细解释。 出错的原因有几种,从字面意思能看出…

MYSQL建立数据库的步骤

第一步:查看当前数据库 show databases; 第二步:创建数据库cjhl_xzf CREATE USER name IDENTIFIED BY cjhl_xzf; 或者语句:create database 数据库名; ---------------------------------------------------------------------------------…

SQL入门:第一章 建立自己的数据库

为什么需要SQL 在现实生活中,东西多了,我们都会用到仓库,把所有的东西都规整得井然有序的,要找东西的时候能很快的找到,我们用同样的规则去存放东西,再按照同样的规则去取东西,保证仓库按照一定…

数据库-创建数据库

数据库操作在软件测试工作中,是必须掌握的知识。这个系列我们就来说一下,数据库我们应该会些什么,那么我们先从创建数据库和表格开始吧。 1、创建数据库 create database 库名; 创建student库 2、查看是否创建成功: show databa…

算法竞赛入门【码蹄集进阶塔335题】(MT2201-2225)

算法竞赛入门【码蹄集进阶塔335题】(MT2201-2225) 文章目录 算法竞赛入门【码蹄集进阶塔335题】(MT2201-2225)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件? 目录1. MT2201 字符串转换2. MT2202 Summer Pockets3. MT22…

2.C语言基础-sprintf函数用法

theme: juejin highlight: school-book 1.前言 当需要在控制台打印字符串的时候,会用到printf函数,printf会将格式化后的字符串打印在控制台上,如果需要将数字或者其他数据格式化成字符串保存到一个字符串变量中,会调用另一个函…

linux fprintf sprintf 函数

目录 前言fprintf 函数sprintf 函数 前言 <fgets gets fputs puts 函数> 前面验证了fgets fputs gets puts 是否把新行符存入缓存的结论 并且都得出了结果。 这次继续验证 fprintf sprintf 是否是行缓存&#xff1f;&#xff1f;fprintf 函数 先用之前的方法试试 输出…

sprintf函数的用法linux,Linux 常用函数——sprintf函数

Linux 常用函数——sprintf函数 (2011-04-06 20:30:44) sprintf&#xff1a;由于sprintf 跟printf 在用法上几乎一样&#xff0c;只是打印的目的地不同而已&#xff0c;前者打印到字符串中&#xff0c;后者则直接在命令行上输出。 sprintf 是个变参函数&#xff0c;定义如下&am…

sprintf函数的用法

前言&#xff1a; sprintf函数调用的主要用途就是把一个字符串放在一个已知的字符数组里去。其实这是一个很常用的库函数&#xff0c;在解决某些OJ题的时候会经常用到它来帮助实现字符串的转移和储存。这里我就在简单的介绍一下其用法。 sprintf函数结构&#xff1a; 首先需要…

sprintf 函数详解

printf函数大家都熟悉&#xff0c;但是printf一般打印到标准输出&#xff0c;在需要整理、格式化字符串时&#xff0c;sprintf就大显身手了。 例如&#xff0c;在处理传感器数据时&#xff0c;为了将得到的数据整合成特定的格式通过网络发送出去&#xff0c; char buffer[100…

vs2019:constexpr 函数“qCountLeadingZeroBits”不能生成常量表达式

打开vs属性页&#xff0c;在常规中修改目标平台版本为8.1&#xff0c;修改平台工具集为vs2015

[C++11]常量表达式函数

constexpr修饰函数。 普通函数/类成员函数。 1.函数必须要有返回值&#xff0c;并且return返回的表达式必须是常量表达式。 代码如下: #include <iostream> using namespace std;//error 不是常量表达式函数 constexpr void func1() {int a 200;cout << a &l…