
Android SQLite数据库操作实践教程
下载需积分: 10 | 54KB |
更新于2025-06-02
| 197 浏览量 | 举报
收藏
在当今的移动应用开发领域,Android 应用占据了极为重要的地位。而随着应用功能的多样化,数据存储成为了开发者必须面对的问题。SQLite 作为 Android 系统内置的数据库管理系统,因其轻量级、简单的 API、无需服务器等特点,在 Android 应用开发中被广泛使用。本篇知识点将详细介绍如何在 Android 环境下操作 SQLite 数据库,包括创建数据库、添加数据、修改数据以及删除数据的基本步骤。
### SQLite 数据库的创建
创建一个 SQLite 数据库首先需要继承 `SQLiteOpenHelper` 类,该类是一个抽象类,需要我们重写两个方法:`onCreate` 和 `onUpgrade`。
- `onCreate(SQLiteDatabase db)`: 这个方法会在数据库首次创建时被调用,我们可以在此方法中编写创建数据库表的 SQL 语句。
- `onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)`: 这个方法会在数据库的版本发生变化时被调用,可以在此方法中处理数据库升级的相关逻辑,比如修改表结构。
在实现 `SQLiteOpenHelper` 类后,我们可以通过调用 `getWritableDatabase()` 或 `getReadableDatabase()` 来获取数据库实例。
### 添加数据操作
向 SQLite 数据库添加数据一般使用 `SQLiteDatabase` 类的 `insert` 方法。此方法需要四个参数:表名、null ColumnHack、ContentValues 实例和插入冲突策略。
- 表名:你所要插入数据的表名。
- null ColumnHack:通常是 `null`,如果是 `null`,表示即使内容为 null 也会插入。
- ContentValues 实例:一个包含键值对的映射表,键为列名,值为插入的数据。
- 插入冲突策略:指定当插入的数据违反唯一性约束时的处理策略。例如:`SQLiteDatabase.CONFLICT_REPLACE`(冲突时替换)。
### 修改数据操作
修改 SQLite 数据库中的数据,使用 `update` 方法。此方法同样需要表名、ContentValues 实例、条件语句和参数。
- 表名:要修改数据的表名。
- ContentValues 实例:包含要更新的字段和值的映射表。
- 条件语句:指定更新数据的条件,可以是 WHERE 子句。
- 条件参数:对应条件语句的参数值。
### 删除数据操作
删除 SQLite 数据库中的数据,使用 `delete` 方法。此方法需要三个参数:表名、条件语句和条件参数。
- 表名:要删除数据的表名。
- 条件语句:指定删除数据的条件,可以是 WHERE 子句。
- 条件参数:对应条件语句的参数值。
### 代码示例
接下来的代码示例会展示如何在 Android 中创建一个 SQLite 数据库,并执行一些基本的数据操作。
```java
public class DatabaseHelper extends SQLiteOpenHelper {
// 数据库版本
private static final int DATABASE_VERSION = 1;
// 数据库名称
private static final String DATABASE_NAME = "MyDatabase";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表 SQL 语句
String CREATE_TABLE_USERS = "CREATE TABLE users(_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)";
// 执行创建表语句
db.execSQL(CREATE_TABLE_USERS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库版本更新时的处理,比如删除旧表创建新表
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
// 添加数据方法
public void addUser(String name, int age) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
values.put("age", age);
// 插入数据,并设置冲突策略为替换
db.insert("users", null, values);
db.close();
}
// 修改数据方法
public void updateUser(int userId, String name, int age) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
values.put("age", age);
// 指定更新数据的条件,即用户ID为userId
db.update("users", values, "_id = ?", new String[]{String.valueOf(userId)});
db.close();
}
// 删除数据方法
public void deleteUser(int userId) {
SQLiteDatabase db = this.getWritableDatabase();
// 指定删除数据的条件,即用户ID为userId
db.delete("users", "_id = ?", new String[]{String.valueOf(userId)});
db.close();
}
}
```
在 Android 开发中,理解和熟练运用 SQLite 数据库是必须的技能,因为无论应用多么复杂,数据存储与管理都是基础且关键的部分。通过上述的介绍和示例代码,初学者应当能够掌握在 Android 应用中进行基本的数据库操作。需要注意的是,实际开发中应当仔细设计数据库结构,合理利用事务和索引,并注意权限控制和数据安全等问题。
相关推荐










今日方知我是我。
- 粉丝: 8
资源目录
共 28 条
- 1
最新资源
- Web端工作流设计器插件开发指南
- 移动立方体算法在三维重建中的应用与理论研究
- 集团级CRM系统订单处理需求详细解析
- 深入UNIX系统:C语言高级编程与程序设计
- CSocket类改造封装实现简易C/S通讯方案
- VisualASM 1.0:强大的汇编语言集成开发环境
- 猴子顾家像素风格个人主页模版
- 汉语音韵学知识精讲与实践应用
- C#实现Voronoi图与Delaunay三角网的转换方法
- 安徽机电职业技术学院Access数据库课件资料
- 面向对象程序设计与VC6新手教程
- C++编程面试题库精粹及笔试难题解析
- C++实现数据结构经典算法详解
- 深入解析ext标签在WEB开发中的应用示例
- C++实现约瑟夫问题:猴子选大王解析
- MFC实现强大表达式解析功能
- 数字图像处理:均衡化处理源程序详解
- Ant 1.70中文版手册:构建Java程序的全程指导
- VB实现冒泡排序动画演示
- 清华版《编译原理》第2版习题解答详细解析
- 精通C# 2008商业对象开发实践指南
- 51单片机反汇编工具包发布:工具集系列之核心组件
- Asp.net学生信息管理系统源码解读与实践
- 深入解析QTP的SystemUtil Object官方文档