2015-09-26 165 views
0

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

+0

https://github.com/sanathp/DatabaseManager_For_Android – subhash

回答

0

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

+0

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

0

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

有关于如何去生根堆栈溢出的Android模拟器,像一些帖子这样:How to get root access on Android emulator?

如果你不想这样做,你可以使用一个工具类导出的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; 
} 
2

转到DDMS - >文件资源管理器 - >数据 - >数据 - >你的包名 - >数据库 - >这里是你的数据库文件。

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

0

我发现了从设备本身查看和管理数据库的最佳工具(SQLite编辑器https://goo.gl/ALzc8A)。很有用!!

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

相关问题