【问题标题】:How can i see SQLite Database (No emulator)?我如何查看 SQLite 数据库(无模拟器)?
【发布时间】:2011-10-03 08:42:11
【问题描述】:

对于开发,有时我们需要更快的编程,即我们程序的 SQLite 数据库状态。但是我只能在模拟器上提取数据库,而不是在移动设备上。

那么我的确切问题是¿有没有办法查看 android sqlite db 或提取它的方法?

如果该问题没有好的答案。当您需要了解表的数据库状态时,您如何处理这些编程问题?

【问题讨论】:

  • 根您的设备....或管理nexsus 1,或者最好先在emu中尝试并检查db是否正确然后在设备上测试
  • 抱歉,我认为使用鸸鹋不是更快的方式
  • 您只需要浏览已创建的数据库吗?
  • @A.Quiroga 我已经发布了一个答案,请看一下。这可能对你有帮助

标签: android database sqlite


【解决方案1】:

你可以使用

adb shell

获取设备的根外壳,然后直接在数据库上使用您喜欢的任何东西。导出它,运行脚本等。

您可以查看此链接了解详情:

developer.android.com/studio/command-line/sqlite3.html

关于 SQLite 命令: http://www.sqlite.org/sqlite.html

【讨论】:

  • 谢谢你的回答,你能给我确切的方法来提取或管理 sqlite db 以打勾吗?
  • @A.Quiroga 不客气。我在答案中添加了必要的链接。
  • @vovahost 随意编辑答案,你会得到它的功劳;)
【解决方案2】:

您可以像 vbence 提到的那样从 shell 执行此操作。另一种方法是以编程方式将数据库文件复制到 sd 卡。打电话给onStop():

File source =  new File("data/data/com.ACME/databases/" + DATABASE_NAME);
File dest =  new File(Environment.getExternalStorageDirectory() + "/" + DATABASE_NAME + ".db");

public static void copyFile(File sourceFile, File destFile) {

FileChannel source = null;
FileChannel destination = null;

    try {
        if (!destFile.exists()) {
            destFile.createNewFile();
        }

    source = new FileInputStream(sourceFile).getChannel();
    destination = new FileOutputStream(destFile).getChannel();
    destination.transferFrom(source, 0, source.size());

    } catch (Exception e) {
        /* handle exception... */
    } finally {
    try {
            if (source != null) {
                source.close();
            }
            if (destination != null) {
                destination.close();
            }
        } catch (Exception e) {
            /* handle exception... */
        }
    }
}

【讨论】:

    【解决方案3】:

    要探索 SQLite 数据库,您可以使用名为 SQLite Manager 的 mozilla firefox 插件。运行应用程序后,使用文件资源管理器将数据库拉到您的系统并打开 firefox-->Tools-->SQLite Manager。将出现一个窗口,其中有一个打开数据库的选项,单击它并指向您提取数据库的路径。打开该数据库,您可以看到创建的表和输入的值。您还可以选择添加、编辑、删除和更新值。

    【讨论】:

      猜你喜欢
      • 2013-10-31
      • 2018-03-14
      • 2015-09-25
      • 2016-03-02
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      相关资源
      最近更新 更多