file-type

Android SQLite数据库操作实践教程

RAR文件

下载需积分: 10 | 54KB | 更新于2025-06-02 | 197 浏览量 | 4 下载量 举报 收藏
download 立即下载
在当今的移动应用开发领域,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
上传资源 快速赚钱

资源目录

Android SQLite数据库操作实践教程
(28个子文件)
Provider.class 3KB
strings.xml 175B
classes.dex 9KB
icon.png 2KB
icon.png 3KB
icon.png 4KB
R$drawable.class 367B
Provider.java 2KB
.project 848B
R.java 1KB
MainActivity.class 3KB
R$id.class 533B
ShowDataActivity.class 5KB
proguard.cfg 1KB
default.properties 362B
AndroidManifest.xml 710B
Sql.class 1KB
main.xml 1KB
Android_1991.apk 18KB
R.class 454B
R$attr.class 307B
resources.ap_ 11KB
.classpath 280B
MainActivity.java 3KB
R$string.class 394B
ShowDataActivity.java 4KB
R$layout.class 361B
Sql.java 1KB
共 28 条
  • 1