Android自定义SQLite数据库操作

需积分: 3 1 下载量 29 浏览量 更新于2024-09-12 1 收藏 17KB DOCX 举报
"Android数据库创建教程" 在Android应用开发中,数据存储是不可或缺的一部分,而SQLite是Android系统内置的关系型数据库,常用于存储应用程序中的结构化数据。本篇将详细介绍如何在Android环境中创建一个简单的SQLite数据库。 首先,创建数据库通常涉及以下几个关键步骤: 1. **定义数据库版本**: 在代码中定义了一个名为`DATABASE_VERSION`的常量,其值为2,表示数据库的版本号。每当数据库结构发生变化时(如添加新表或修改表结构),都需要更新这个版本号,以便系统知道何时调用`onUpgrade()`方法进行升级操作。 2. **创建SQLiteOpenHelper子类**: 这里定义了一个名为`DatabaseHelper`的内部静态类,它继承自`SQLiteOpenHelper`。`SQLiteOpenHelper`是管理SQLite数据库生命周期的关键类,提供了创建、升级数据库和获取数据库实例的方法。 3. **构造函数**: `DatabaseHelper`的构造函数接收一个`Context`参数,用于初始化`SQLiteOpenHelper`。在这个构造函数中,将上下文和数据库名传递给父类的构造函数,同时指定`null`作为工厂类(默认的SQLite游标工厂)和数据库版本号。 4. **onCreate()方法**: 当数据库首次创建时,会调用此方法。在这里,我们定义了一个SQL创建语句`DATABASE_CREATE`,用于创建名为`notes`的表,包含三个字段:`_id`(整型主键,自动递增)、`title`(非空文本类型)和`body`(非空文本类型)。然后调用`db.execSQL(DATABASE_CREATE)`执行创建表的SQL语句。 5. **onUpgrade()方法**: 当数据库版本号增加时,系统会调用这个方法。这里我们先删除旧的`notes`表,然后调用`onCreate()`方法重建新的表结构,确保数据的更新与迁移。 6. **获取数据库实例**: 在`MyDbHelper`类中,有一个`SQLiteDatabase`类型的成员变量`mDb`,用于存储数据库实例。`getWritableDatabase()`或`getReadableDatabase()`方法可以用来获取可读写的数据,这两个方法会确保数据库被创建和打开,并在需要时升级数据库。 7. **使用数据库**: 一旦有了数据库实例,就可以通过调用`mDb.insert()`, `mDb.query()`, `mDb.update()`, 和 `mDb.delete()`等方法来执行常见的数据库操作,如插入、查询、更新和删除数据。 在实际开发中,可能还需要实现数据访问对象(DAO)类,专门处理与数据库的交互,以封装操作逻辑,提高代码的可维护性和复用性。此外,还可以使用ContentProvider进行数据的跨应用共享,或者使用Room Persistence Library——Google推荐的更高级别的数据库访问库,它提供了更简洁的API和更好的类型安全支持。 总结起来,创建Android数据库涉及创建SQLiteOpenHelper子类,定义数据库版本,创建表结构,以及在适当的方法中执行数据库操作。通过这种方式,可以有效地管理和操作应用程序的本地数据。