当前位置:首页>行业动态> 正文

安卓开发如何查看数据库

安卓开发中查看数据库的方法

使用 Android Studio 的 Database Inspector(推荐)

适用场景:Android Studio 4.1+ 版本,支持实时查看 SQLite 数据库
操作步骤

  1. 连接设备或启动模拟器,运行 App。
  2. 在 Android Studio 底部工具栏点击Database Inspector 图标(或通过View > Tool Windows > Database Inspector)。
  3. 选择目标进程(如app),展开后可看到数据库列表。
  4. 点击数据库名称(如mydatabase.db),再展开表名,双击表可查看数据。
  5. 支持 SQL 语句执行(点击Execute SQL 按钮),SELECT FROM table_name;

优点

  • 无需 root 设备,直接集成在开发环境。
  • 支持数据修改、删除等操作。

缺点

  • 仅支持 SQLite 数据库,无法查看其他类型数据库(如 Room 持久化库需关联 SQLite)。
  • 低版本 Android Studio 可能不支持。

通过代码查询数据库内容

适用场景:快速验证数据库操作逻辑,或在无图形界面时调试。
示例代码

安卓开发如何查看数据库  第1张

// 假设使用 SQLiteOpenHelper 创建数据库
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT  FROM table_name", null);
if (cursor.moveToFirst()) {
    do {
        // 读取字段数据
        String data = cursor.getString(cursor.getColumnIndex("column_name"));
        Log.d("DatabaseData", "Data: " + data);
    } while (cursor.moveToNext());
}
cursor.close();

关键点

  • 使用rawQuery 执行 SQL 语句。
  • 通过Log 输出数据到控制台。
  • 记得关闭Cursor 释放资源。

使用第三方工具(如 SQLite Browser)

适用场景:需要导出数据库文件或在真机上直接查看。
操作步骤

  1. 导出数据库文件
    • 通过 ADB 命令导出:
      adb shell "run-as com.example.app cp /data/data/com.example.app/databases/mydatabase.db /sdcard/"
      adb pull /sdcard/mydatabase.db
    • 或在代码中将数据库拷贝到外部存储(需权限)。
  2. 打开数据库文件
    • 使用 SQLite Browser(https://sqlitebrowser.org/)或 DBeaver 等工具加载.db 文件。
    • 支持可视化增删改查操作。

优点

  • 支持复杂查询和数据分析。
  • 可长期保存数据库文件用于对比。

缺点

  • 需要设备有读写权限(Android 10+ 需申请MANAGE_EXTERNAL_STORAGE)。
  • 真机需 root 或通过 ADB 拉取文件。

方法对比表

方法适用场景优点缺点
Database InspectorAndroid Studio 调试实时性强,无需额外操作仅支持 SQLite,依赖工具版本
代码查询快速验证逻辑灵活,可直接输出日志需手动编写代码,不适合复杂分析
第三方工具导出文件或真机调试功能强大,支持多种格式需权限或 root,操作较繁琐

相关问题与解答

问题1:为什么 Database Inspector 看不到我的数据库?

解答

  • 确认 App 已运行且数据库已初始化(如在onCreate 中调用SQLiteOpenHelper)。
  • 检查数据库路径是否正确(默认路径为/data/data/包名/databases/)。
  • 确保 Android Studio 版本为 4.1+,并启用了 Inspector。
  • 如果使用 Room,需在@Database 注解中设置exportSchema 为 true。

问题2:如何删除应用的数据库文件?

解答

  1. 通过 ADB 删除
    adb shell "rm /data/data/com.example.app/databases/mydatabase.db"
  2. 通过代码删除
    File dbFile = context.getDatabasePath("mydatabase.db");
    if (dbFile != null && dbFile.exists()) {
        dbFile.delete();
    }
  3. 通过设置应用清除数据

    进入手机设置 → 应用 → 选择目标 App → 存储 → 清除数据(会重置所有数据