Android SQLite 数据库操作:增删改查实践

版权申诉
0 下载量 164 浏览量 更新于2024-08-19 收藏 585KB DOCX 举报
"该文档是关于在Android平台上使用SQLite数据库实现基本的增删改查操作的教程。" 在Android开发中,SQLite是一个轻量级的、嵌入式的、关系型数据库,它允许开发者在应用程序中存储和管理数据。这篇文档详细介绍了如何在Android应用中集成SQLite,以实现对数据的添加、查询、更新和删除(CRUD)功能。 1. **创建数据库和表** - 在Android中,我们通常通过继承`SQLiteOpenHelper`类来创建和管理SQLite数据库。在这个例子中,`DBOpenHelper`类是SQLiteOpenHelper的子类。 - `DBOpenHelper`中的`onCreate()`方法会在数据库首次创建时被调用,用于创建表结构。在这里,创建了一个名为`u_user`的表,包含四个字段:`_id`(整型,主键)、`name`(可变字符,长度20)、`age`(整型)和`tall`(可变字符,长度5)。 - `onUpgrade()`方法则在数据库版本升级时被调用,用于处理表结构的更改。在这个例子中,没有提供具体的升级逻辑,意味着当数据库版本变化时,不会进行任何操作。 2. **数据访问对象(DAO,Data Access Object)** - `UserDAO`类是数据访问层,用于与数据库进行交互。它包含了对`User`对象的CRUD操作。 - `helper`是`DBOpenHelper`的一个实例,通过它我们可以获取到`SQLiteDatabase`对象,从而执行SQL语句。 3. **增加数据** - 要向数据库中添加数据,可以通过`SQLiteDatabase`的`insert()`方法,将一个`User`对象的信息转化为SQL语句并执行。 4. **查询数据** - `UserDAO`可能包含如`getAllUsers()`这样的方法,使用`SQLiteDatabase`的`query()`或`rawQuery()`方法执行SQL查询,返回所有用户的数据。 - 对于特定ID的查询,可以构建一个带有WHERE子句的SQL查询,例如`select * from u_user where _id = ?`,然后传入ID作为参数。 5. **更新数据** - 更新数据使用`update()`方法,传入更新的SQL语句和对应的值,例如`update u_user set name=?, age=?, tall=? where _id=?`。 6. **删除数据** - 删除单个记录使用`delete()`方法,带有WHERE子句的SQL语句,如`delete from u_user where _id = ?`。 - 全部删除所有记录,可以执行`delete from u_user`的SQL语句。 7. **使用事务** - 当需要执行一系列相关的数据库操作时,可以使用SQLite的事务功能,以确保这些操作要么全部成功,要么全部失败。这可以通过在`SQLiteDatabase`上开启和结束事务来实现,如`beginTransaction()`、`setTransactionSuccessful()`和`endTransaction()`。 8. **封装与调用** - 通常,这些DAO方法会被封装到一个业务逻辑层,然后由UI层调用,例如在按钮点击事件中调用`addUser()`, `getUserById()`, `deleteAllUsers()`等。 通过以上步骤,一个简单的Android应用就能实现SQLite数据库的基本功能,使得数据的管理变得简单而高效。在实际项目中,还可以考虑数据缓存、线程安全、错误处理等更复杂的问题。