Android SQLite案例:实战操作的增删改查详解
167 浏览量
更新于2024-08-31
收藏 62KB PDF 举报
在Android开发中,SQLite数据库是一种轻量级、嵌入式的关系型数据库,它非常适合在移动设备上进行数据存储和管理。本文将深入探讨在Android应用中如何使用SQLite进行数据的增删改查操作,通过实际案例来帮助理解和掌握这一关键技能。
首先,我们来看一个名为`Person`的实体类,这是数据模型的一个简单示例。这个类代表了一个用户对象,包含了三个字段:`id`(整数类型)、`name`(字符串类型)和`phone`(字符串类型)。这个类有三种构造方法,分别用于不同情况下的初始化:
1. 默认构造函数:`public Person()`
2. 只提供姓名和电话号码的构造函数:`public Person(String name, String phone)`
3. 提供所有字段的构造函数:`public Person(Integer id, String name, String phone)`
每个字段都有对应的getter和setter方法,以便在数据库操作时读取和设置数据。例如,`public Integer getId()`用于获取`id`值,`public void setId(Integer id)`用于设置`id`值。
接着,我们看到`DBOpenHelper`类,它是SQLiteOpenHelper的子类,用于创建和管理SQLite数据库。SQLiteOpenHelper是一个抽象类,它定义了两个主要的方法:`onCreate(SQLiteDatabase db)`和`onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)`。这些方法会在数据库初次创建或版本升级时被调用,用于创建表或更新表结构。
`DBOpenHelper`类中,有两个静态变量:`private static final String DB_NAME = "ljq.db"`,这是数据库的名称;`private static final int VERSION = 1`,表示当前数据库版本号。由于SQLiteOpenHelper类需要在应用程序生命周期中保持唯一,因此通常将其声明为静态,并且不使用实例化,而是通过`getWritableDatabase()`或`getReadableDatabase()`方法获取数据库连接。
在Android中进行SQLite操作的具体步骤包括以下四个核心操作:
1. 插入数据(Insert):使用`insert()`或`insertWithOnConflict()`方法向表中插入新的`Person`对象。例如:
```java
SQLiteDatabase db = getWritableDatabase();
Person person = new Person("张三", "13812345678");
String sql = "INSERT INTO person (name, phone) VALUES (?, ?)";
db.execSQL(sql, new Object[]{person.getName(), person.getPhone()});
```
2. 查询数据(Select):利用`query()`方法根据条件查询数据,例如:
```java
Cursor cursor = db.query("person", null, "name=?", new String[]{"张三"}, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
// 处理查询结果
}
cursor.close();
```
3. 更新数据(Update):使用`update()`方法根据指定的条件更新表中的记录,例如:
```java
SQLiteDatabase db = getWritableDatabase();
String sql = "UPDATE person SET phone=? WHERE name=?";
db.execSQL(sql, new Object[]{new Phone("13987654321"), "张三"});
```
4. 删除数据(Delete):使用`delete()`方法删除符合条件的记录,例如:
```java
SQLiteDatabase db = getWritableDatabase();
int deletedRows = db.delete("person", "name=?", new String[]{"张三"});
```
以上就是Android中SQLite数据库的增删改查操作案例分析。在实际项目中,需要根据具体需求合理设计表结构和查询逻辑,同时确保数据的完整性和一致性。同时,别忘了在处理完毕数据库操作后,记得关闭连接以释放系统资源。
2019-07-29 上传
2022-04-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2014-10-23 上传
点击了解资源详情
点击了解资源详情
weixin_38664556
- 粉丝: 5
- 资源: 958
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库