Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查看android emulator的sqlite数据库?_Android_Intellij Idea_Android Emulator_Ionic - Fatal编程技术网

如何查看android emulator的sqlite数据库?

如何查看android emulator的sqlite数据库?,android,intellij-idea,android-emulator,ionic,Android,Intellij Idea,Android Emulator,Ionic,我正在用IntelliJ IDEA上的ionic开发一个应用程序。我已经创建了一个新项目PhoneGap/Cordova App,并且我将.apk完美地部署在android emulator的设备上。但我不知道如何访问emulator的数据库,以查看是否正确插入了数据。如何连接到模拟器以访问数据库?通常,数据库是应用程序的一部分,您可以将其作为资产文件夹发送。 部署应用程序时,将在data folder中创建一个应用程序包名称的文件夹,您也可以在其中查看数据库文件。 当应用程序修改数据库时,如果

我正在用IntelliJ IDEA上的
ionic
开发一个应用程序。我已经创建了一个新项目
PhoneGap/Cordova App
,并且我将
.apk
完美地部署在android emulator的设备上。但我不知道如何访问emulator的数据库,以查看是否正确插入了数据。如何连接到模拟器以访问数据库?

通常,数据库是应用程序的一部分,您可以将其作为资产文件夹发送。 部署应用程序时,将在data folder中创建一个应用程序包名称的文件夹,您也可以在其中查看数据库文件。
当应用程序修改数据库时,如果您想查看当前状态,请将数据库复制到本地文件夹并使用Firefox浏览器打开,您可以看到表及其数据。

访问应用程序数据库文件的唯一方法是使用根设备。android系统故意保护这些文件不被访问

有一些帖子介绍了如何在堆栈溢出上为android仿真器加根,如下所示:

如果不想这样做,可以使用实用程序类将sqlite数据库导出到本地文件系统,然后在所述设备或计算机上使用sqlite应用程序查看它

public String backupDatabase(Context context) throws IOException {
    File dbFile = context.getDatabasePath("YOUR_DATABASE_NAME.db");
    FileInputStream fis = new FileInputStream(dbFile);

    String outFileName = String.format("%s/%s.db", Environment.getExternalStorageDirectory(), "DATABASE_FILE_NAME");

    // Open the empty db as the output stream
    OutputStream output = new FileOutputStream(outFileName);

    byte[] buffer = new byte[1024];
    int length;
    while ((length = fis.read(buffer)) > 0) {
        output.write(buffer, 0, length);
    }

    // Close the streams
    output.flush();
    output.close();
    fis.close();

    return outFileName;
}

转到DDMS->文件管理器->数据->数据->包名->数据库->这里是数据库文件


拉取数据库并在sqlite浏览器或mozilla sqlite插件中打开它。

我找到了从设备本身查看和管理数据库的最佳工具(sqlite编辑器)。非常有用


PD:我在Genymotion上安装了该应用程序,这比默认的SDK模拟器要好得多。

但我需要从设备本身而不是本地查看和管理数据库,因为更改不会更新。