Android入门:SQLite数据库创建与使用详解

版权申诉
5星 · 超过95%的资源 1 下载量 140 浏览量 更新于2024-09-10 收藏 311KB PDF 举报
本文档介绍了在Android开发中使用SQLite数据库的详细步骤和实例。SQLite是一种轻量级的嵌入式数据库管理系统,其特点是体积小、无需服务器支持、数据存储在一个单一文件中,并且跨平台且开源。在Android环境中,SQLite被广泛用于本地数据存储,因为Android标准库已经包含了相应的Java API。 首先,我们了解如何在Android中创建SQLite数据库。通过`SQLiteDatabase.openOrCreateDatabase()`方法,开发者可以指定数据库的路径(例如,`/data/data/ + getPackageName() + /test.db`),这个方法会在指定的路径下检查数据库是否存在。如果数据库存在,它将被打开;若不存在,则会自动创建一个新数据库。这个过程可能会抛出`FileNotFoundException`异常,需要进行适当的错误处理。 为了更好地管理数据库的生命周期,Android提供了一个抽象类`SQLiteOpenHelper`。开发者需要继承这个类并实现`onCreate()`和`onUpgrade()`方法。`onCreate()`方法在第一次创建数据库时调用,开发者可以在这个方法中编写SQL语句来创建所需的表结构。而当数据库版本升级时,`onUpgrade()`方法会被调用,用于更新数据库结构以适应新的应用版本。 以下是一个简单的`SQLiteOpenHelper`的使用示例: ```java public class MySQLiteHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mysqlite.db"; private static final int DATABASE_VERSION = 1; public MySQLiteHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 在这里编写创建表的SQL语句,例如: db.execSQL("CREATE TABLE IF NOT EXISTS users (" + "id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT," + "email TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 当数据库版本升级时,根据新旧版本执行迁移操作,比如删除旧表后重新创建等 db.execSQL("DROP TABLE IF EXISTS users;"); onCreate(db); } } ``` 使用`SQLiteOpenHelper`的好处是,它负责管理数据库的版本控制和生命周期,使得在应用程序升级过程中能够平滑地处理数据库结构的变化。 总结来说,Android中的SQLite数据库使用涉及创建数据库、选择合适的初始化和升级策略,以及执行SQL语句来管理数据。通过`SQLiteOpenHelper`类,开发者可以编写更加模块化和可维护的数据库操作代码,确保在不同版本的应用中保持数据的一致性和完整性。