Android SQLite数据库实战教程

需积分: 0 0 下载量 29 浏览量 更新于2024-09-02 收藏 312KB PDF 举报
"Android使用SQLite数据库的示例" 在Android应用开发中,SQLite数据库是一个重要的组件,用于存储和管理应用程序的数据。SQLite是一个轻量级、文件式的数据库管理系统,它的优势在于小巧、易于集成且跨平台。SQLite数据库在Android中被广泛使用,因为它不需要单独的服务器进程,所有操作都可以在本地设备上完成。 一、SQLite数据库的特点 1. 轻量级:SQLite占用资源少,适合在移动设备上使用。 2. 单一文件存储:数据库的所有信息都存储在一个文件中,便于备份和迁移。 3. 跨平台:支持多种操作系统,包括Android、iOS、Windows等。 4. 开源:SQLite是自由软件,源代码开放,允许自由使用和修改。 二、Android中SQLite数据库的创建与使用 1. 手动创建数据库 Android通过`SQLiteDatabase`类提供的静态方法`openOrCreateDatabase()`来创建或打开数据库。例如: ```java SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase( "/data/data/" + getPackageName() + "/test.db", null); ``` 这段代码会在指定的路径下创建名为`test.db`的数据库。如果数据库已存在,就会打开它。若创建失败,会抛出`FileNotFoundException`异常。 2. 使用SQLiteOpenHelper 通常,我们推荐使用`SQLiteOpenHelper`类来更方便地管理和更新数据库。`SQLiteOpenHelper`提供了一种创建数据库和表以及管理版本变更的方式。下面是一个简单的`SQLiteOpenHelper`子类示例: ```java public class MySqliteHelper extends SQLiteOpenHelper { public MySqliteHelper(Context context) { super(context, "mysqlite.db", null, 1); } @Override public void onCreate(SQLiteDatabase db) { // 在这里编写创建表的SQL语句,当数据库首次创建时会被调用 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 在这里编写升级表的SQL语句,当数据库版本发生变化时会被调用 } } ``` `onCreate()`方法用于创建数据库和表,而`onUpgrade()`方法用于处理数据库升级,比如在新版本中添加、删除或修改表结构。 三、数据库操作 1. 插入数据: ```java ContentValues values = new ContentValues(); values.put("column1", "value1"); values.put("column2", "value2"); db.insert("tableName", null, values); ``` 2. 查询数据: ```java Cursor cursor = db.query("tableName", null, null, null, null, null, null); while (cursor.moveToNext()) { String column1Value = cursor.getString(cursor.getColumnIndex("column1")); String column2Value = cursor.getString(cursor.getColumnIndex("column2")); // 处理查询结果 } cursor.close(); ``` 3. 更新数据: ```java ContentValues updatedValues = new ContentValues(); updatedValues.put("column1", "new_value1"); int rowsAffected = db.update("tableName", updatedValues, "condition", null); ``` 4. 删除数据: ```java int rowsDeleted = db.delete("tableName", "condition", null); ``` 四、事务处理 SQLite支持事务操作,可以通过`beginTransaction()`、`setTransactionSuccessful()`和`endTransaction()`方法来保证一系列操作的原子性。 SQLite是Android开发中不可或缺的数据存储方式,通过`SQLiteOpenHelper`和`SQLiteDatabase`的合理使用,可以实现高效、安全的数据管理。开发者应熟悉这些API,以便在实际项目中灵活运用。