android studio SQLite数据库的简单使用

embedded/2024/9/23 10:48:27/

在Android Studio中使用数据库可以有多种方式,常见的几种方式包括使用SQLite数据库和使用

  1. SQLite数据库 SQLite是一款轻量级的关系型数据库管理系统,在Android中被广泛使用。要在Android Studio中使用SQLite数据库,需要先创建一个数据库帮助类,这个类继承自SQLiteOpenHelper类,用于创建和管理数据库。在数据库帮助类中,可以定义表结构和数据库操作方法。然后在需要使用数据库的地方,可以通过实例化数据库帮助类来获取数据库对象,并调用数据库操作方法。

创建一个数据库帮助类:

java">public class MyDatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "mydatabase.db";private static final int DATABASE_VERSION = 1;public MyDatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {// 创建数据库表String createTableQuery = "CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT)";db.execSQL(createTableQuery);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 升级数据库String dropTableQuery = "DROP TABLE IF EXISTS mytable";db.execSQL(dropTableQuery);onCreate(db);}
}

然后在需要使用数据库的地方,可以通过实例化数据库帮助类来获取数据库对象,并调用数据库操作方法:

java">// 实例化数据库帮助类
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
// 获取数据库对象
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 执行数据库操作,例如插入数据
ContentValues values = new ContentValues();
values.put("name", "John");
db.insert("mytable", null, values);

  1. Room Persistence Library Room是Android Jetpack中的一个持久化库,它提供了一个简单的抽象层来访问SQLite数据库。使用Room可以更加方便地进行数据库操作,不需要手动编写SQL语句。要在Android Studio中使用Room,首先需要在build.gradle文件中添加Room依赖:
dependencies {implementation 'android.arch.persistence.room:runtime:1.1.1'annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
}

然后,在数据库中定义实体类和数据访问对象(DAO)。实体类对应数据库中的表,数据访问对象定义了对数据库的操作方法。

例如,定义一个实体类:

java">@Entity
public class User {@PrimaryKeypublic int id;public String name;
}

定义一个数据访问对象:

java">@Dao
public interface UserDao {@Insertvoid insert(User user);@Query("SELECT * FROM user")List<User> getAllUsers();
}

然后,创建一个数据库类,用于获取数据库对象和访问数据访问对象的方法:

java">@Database(entities = {User.class}, version = 1)
public abstract class MyDatabase extends RoomDatabase {public abstract UserDao userDao();private static MyDatabase INSTANCE;public static synchronized MyDatabase getInstance(Context context) {if (INSTANCE == null) {INSTANCE = Room.databaseBuilder(context.getApplicationContext(),MyDatabase.class, "mydatabase.db").build();}return INSTANCE;}
}

最后,在需要使用数据库的地方,可以通过调用数据库类的方法来获取数据库对象和访问数据访问对象的方法:

java">// 获取数据库对象
MyDatabase db = MyDatabase.getInstance(context);
// 获取数据访问对象
UserDao userDao = db.userDao();
// 执行数据库操作,例如插入数据
User user = new User();
user.id = 1;
user.name = "John";
userDao.insert(user);


http://www.ppmy.cn/embedded/24081.html

相关文章

Node.js 版本升级方法

在构建vue项目时&#xff0c;依赖npm&#xff08;Node Package Manager&#xff09;工具&#xff0c;类似于Java项目需要maven管理。而npm是node.js的管理工具&#xff0c;npm依赖node.js环境才能执行。 有时候使用voscode或者其他工具安装vue项目依赖&#xff0c;显示一直处于…

unity3d使用3D WebView播放网页中的视频

Unity2021.3.35f1&#xff0c;硬件ESP32-Cam&#xff0c;3D WebView插件 1.新建工程&#xff0c;导入3D WebView for Winfows和3D WebView for Android 2.打开场景Assets\Vuplex\WebView\Demos\Scenes\2_CanvasWebViewDemo 3.修改Canvas的Render Mode为Screen Space-Camera&am…

RSA实现中弱密钥漏洞分析

RSA实现中弱密钥漏洞分析 “Analyzing Weak Key Vulnerabilities in RSA Implementation” 完整下载链接:RSA实现中弱密钥漏洞分析 文章目录 RSA实现中弱密钥漏洞分析摘要第一章 引言1.1 研究背景1.2 研究目的1.3 研究意义 第二章 RSA算法基础2.1 RSA算法原理2.2 RSA密钥生成…

Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js

网卡模式选择桥接 mirrors.163.com 阿里镜像源 https://mirrors.aliyun.com/debian/ DeBian 安装软件选择时勾选上 SSH server apt update apt install sudo #安装 sudo usermod -aG sudo username #添加普通账号到 sudo 让 root 可以 SSH 配置文件 /etc/ssh/sshd_config 找…

MySQL-查询数据-练习

练习 1.创建一个查询&#xff0c;显示收入超过 12,000 的雇员的名字和薪水。 select LAST_NAME,SALARY from employees where SALARY > 12000;2.创建一个查询&#xff0c;显示雇员号为 176 的雇员的名字和部门号。 select LAST_NAME,DEPARTMENT_ID from employees where …

软考 系统架构设计师系列知识点之软件可靠性基础知识(7)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件可靠性基础知识&#xff08;6&#xff09; 所属章节&#xff1a; 第9章. 软件可靠性基础知识 第1节 软件可靠性基本概念 9.1.5 广义的可靠性测试和狭义的可靠性测试 广义软件可靠性测试 广义的软件可靠性测试是…

Linux Makefile之优化

1 概述 前面写了两篇关于Makefile的文章Linux Makefile编写之静态库和Linux Makefile编写之可执行程序.虽然编译没有问题&#xff0c;但还有优化的空间。 2 优化 优化列表&#xff1a; 目标文件放入单独目录。隐藏编译命令。增加头文件依赖。增量编译&#xff0c;只编译修改…

微软如何打造数字零售力航母系列科普04 - 微软联合Adobe在微软365应用程序中工作时推出新的生成式AI功能

微软和Adobe正在合作&#xff0c;将情境营销见解和工作流程引入微软Copilot&#xff0c;以提供生成的人工智能功能&#xff0c;使营销人员和营销团队能够在自然的工作流程中实现更多目标。 这些新的集成功能将在生产力和协作工具&#xff08;如Outlook、Teams和Word&#xff0…