Android SQLite 教程

17 Mar 2025 | 5 分钟阅读

SQLite 是一个开源关系型数据库,用于在 Android 设备上执行数据库操作,如存储、操作或从数据库检索持久数据。

它默认嵌入在 Android 中。因此,无需执行任何数据库设置或管理任务。

在这里,我们将看到 sqlite 存储和获取数据的示例。数据显示在 logcat 中。要将数据显示在 Spinner 或 ListView 上,请移至下一页。

SQLiteOpenHelper 类提供了使用 SQLite 数据库的功能。


SQLiteOpenHelper 类

android.database.sqlite.SQLiteOpenHelper 类用于数据库创建和版本管理。要执行任何数据库操作,您必须为 SQLiteOpenHelper 类的 onCreate()onUpgrade() 方法提供实现。

SQLiteOpenHelper 类的构造函数

SQLiteOpenHelper 类有两个构造函数。

构造函数描述
SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)创建一个用于创建、打开和管理数据库的对象。
SQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler)创建一个用于创建、打开和管理数据库的对象。它指定了错误处理器。

SQLiteOpenHelper 类的常用方法

SQLiteOpenHelper 类中有许多方法。其中一些如下:

方法描述
public abstract void onCreate(SQLiteDatabase db)数据库首次创建时只调用一次。
public abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)数据库需要升级时调用。
public synchronized void close ()关闭数据库对象。
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion)数据库需要降级时调用。

SQLiteDatabase 类

它包含在 sqlite 数据库上执行的操作方法,例如创建、更新、删除、选择等。

SQLiteDatabase 类的常用方法

SQLiteDatabase 类中有许多方法。其中一些如下:

方法描述
void execSQL(String sql)执行 SQL 查询(非 SELECT 查询)。
long insert(String table, String nullColumnHack, ContentValues values)在数据库中插入一条记录。table 指定表名,nullColumnHack 不允许完全为空的值。如果第二个参数为 null,则在值为空时 Android 会存储 null 值。第三个参数指定要存储的值。
int update(String table, ContentValues values, String whereClause, String[] whereArgs)更新一行。
Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)返回结果集上的游标。

Android SQLite 数据库示例

让我们来看一个简单的 Android SQLite 数据库示例。

文件:Contact.java
文件:DatabaseHandler.java

现在,让我们创建扩展 SQLiteOpenHelper 类并提供其方法实现的数据库处理程序类。

文件:MainActivity.java

输出

android simple sqlite example output 1

如何在 Android Studio 中查看存储在 SQLite 中的数据?

请按照以下步骤查看存储在 Android SQLite 中的数据库及其数据:

  • 打开文件浏览器。
  • 在 data 目录中,转到 data 目录。
  • 搜索您的应用程序包名。
  • 在您的应用程序包中,转到 databases 目录,您将找到您的数据库(contactsManager)。
  • 将您的数据库(contactsManager)保存在您喜欢的任何位置。
  • 下载任何 SqLite 浏览器插件或工具(我使用的是 DB Browser for SQLite)。
  • 启动 DB Browser for SQLite 并打开您的数据库(contactsManager)。
  • 转到“Browse Data”-> 选择您的表(contacts),您将看到存储的数据。
android sqlite