如何在Android Emulator上访问现有的sqlite数据库?

所以我刚接触到android中的数据库,我似乎无法弄清楚如何查看创建的数据库。

我在我的主要活动类中创建了数据库适配器类。

我在模拟器中运行它没有任何问题,但我如何查看内容? 本书正在阅读“使用DDMS检查Android设备/模拟器的文件系统。数据库是在数据库文件夹下创建的”,并在Eclipse中的数据库文件夹下有一个数据库的图像。 我不知道第一部分的真正意义(使用DDMS?)并且不知道人们提到的/ data / data文件夹在哪里。

即使在CMD中运行SQLite3并输入“.tables”也不会产生任何数据库。

在Eclipse中转到Window> Open Persepective> Other> DDMS。 从下面的答案中导航到数据库,如图像,选择数据库,然后单击floppydisk图标从右上角的设备中提取文件。

在模拟器中,DDMS中的位置应为“文件资源管理器”选项卡中的/data/data/com.yourNamespace/databases。

在此处输入图像描述 这是DDMS视角的图片。 在右侧的“文件资源管理器”选项卡中,您将深入查看数据库文件夹。 这些是虚拟文件夹,因此您无法在系统中find它们。 要检查数据库,您可以从设备中选择Pull文件的图标(抱歉,它在此屏幕截图中被删除)并在SQLite中打开该文件。

从cmd从app中检索数据库

– > adb -e shell

—> su root

—> cd data/data/app.name.com/databases

—> cp databasename.db /sdcard/DCIM/

—> exit

—> exit

– > adb pull sdcard/DCIM/databasename.db

如果您没有手机root,只有您的应用可以访问您的数据库,并且无法通过DDMS查看它。 您需要实现一个将数据库复制到存储卡的function(确保您具有外部存储权限) 。 从那里,您可以使用像SQLiteManager这样的应用程序查看您的数据库。

或者,您可以使用Log方法和游标来打印出您需要的任何信息,但第一种方法将为您提供一种更加图形化的方式来浏览您的数据库。

数据库是在模拟器上创建的。 应该在/ data / data / [package] / databases /您可以使用DDMS导航模拟器的文件系统并从中提取数据库文件以在本地进行检查。

或者你可以在shell(adb shell)上使用sqlite3来检查它。

在android studio中运行你的应用程序在模拟器中,然后单击“设备文件资源管理器” 探索数据/数据/ {appname} /数据库

探索数据/数据/ {appname} /数据库。 然后右键单击并保存数据库文件。 而已。