如何在使用Genymotion作为模拟器的情况下通过Android Studio查看存储在SQLite中的数据

27
由于我的笔记本电脑使用的是 AMD 处理器,我正在使用 GENYMOTION 作为模拟器。由于 SQLite 是 Android Studio 的插件,因此我已将数据存储在其中。但是,当我想要使用 DDMS 查看数据时,文件资源管理器没有显示任何内容。我该如何在使用 Android Studio 和 GENYMOTION 的情况下查看存储在 SQLite 数据库中的数据?谢谢!

请检查此链接 - Batuhan Coşkun
用户Deepika R给出了答案,但被删除了。谢谢@DeepikaR! - Fattie
6个回答

35
  1. 进入 工具 -> DDMS 或点击工具栏中 SDK 管理器旁边的设备监视器图标。

  2. 设备监视器窗口将打开。在文件资源管理器选项卡中,单击data -> data -> 你的项目名称。然后你的数据库文件将打开。点击从设备中提取文件图标。使用 .db 扩展名保存该文件。

  3. 打开 FireFox,按下 Alt 键,选择 工具 -> SQLiteManager

  4. 依次点击 Database -> connect to Database -> 浏览到你的数据库文件并点击确认。现在你的 SQLite 文件已经打开。


@RohitBandil 不确定。我只尝试过Genymotion的模拟器。 - Gustavo Barbosa
1
我在Android Studio默认模拟器上按照流程操作,一切正常。我使用的是DB browser for SQLite而不是FireFox。它非常棒! - Hasan Abdullah
8
在“数据->数据->您的项目名称”中,第一个“数据”目录无法打开。我该怎么办?(我的设备是亚马逊Fire平板电脑) - McLan
1
我在API 23的模拟器中运行我的应用程序,监视器中的“文件浏览器”显示了“data”目录的内容... - Marcos

9
Android Studio中没有改变的是Android Device Monitor,所以下面的步骤适用于AS和Eclipse。
1) 从https://github.com/TKlerx/android-sqlite-browser-for-eclipse/releases下载SQLite浏览器插件的jar文件。
2) 将该jar文件放入:[你的AndroidSdkDirectory]/tools/lib/monitor-x86_64/plugins/AndroidSQLiteBrowser_1.0.1.jar 3) 重新启动Android Device Monitor。
4) 选择设备(已root)或模拟器内的.db文件,并单击右上角的SQLite浏览器按钮(在(+)新建文件夹按钮旁边)。
5) 尽情使用吧!

哇!!不错...真的很有帮助 - Rino

7
使用adb命令拉取数据库。
adb pull /data/data/com.android.packagename/databases/datebase.db

数据库将被拉到终端所指向的当前位置

然后使用sqliteman打开数据库


这似乎是一个很棒的提示 - 但如何在Mac上运行“adb”,它在哪里?! - Fattie
在应用您的解决方案时出现以下错误。D:\Softwares\Installed\Android-SDK\platform-tools>adb pull /data/data/com.android.com.myapp/databases.MyApp.db adb: error: remote object '/data/data/com.android.com.myapp/databases.MyApp.db' does not existMyApp 是我的数据库名称。我尝试在项目所在位置执行,但是出现以下错误。D:\Projects\Android\Android Studio Workspace\MyApp>adb pull /data/data/com.android.com.myapp/databases.MyApp.db 'adb' is not recognized as an internal or external command, operable program or batch file. 我正在使用真实设备进行工作。 - Maulik Dodia
我需要root设备吗?@TusharSaha - Maulik Dodia
你可以使用root权限或编写一个函数,将db文件从db文件夹复制到sdcard/内部存储器,然后将其传输到电脑。 - Tushar Saha

5

将Android Studio更新到最新版本3.0,我们可以访问设备文件资源管理器:

View -> Tools Window -> Device File Explorer

官方文档

enter image description here

查看SQLite数据库:

安装Mozilla SQLite插件或任何其他SQLite管理插件,以查看SQLite数据库。


所有这些文件夹都位于哪个目录下?我在你的图片中没有看到父目录。 - Sparkzz
@Sparkzz 请检查数据目录。 - Stephen

1
你可以使用IDEscout来检查应用程序的数据库,实时编辑数据库以满足你的需求。
你只需要下载适用于Android Studio的IDEscout插件,然后连接到你的项目即可。
  1. Add the dependency to your project level gradle.buid

    allprojects {
       repositories {
          jcenter()
          maven {
              url 'http://www.idescout.com/maven/repo/'
          }
       }
    }
    
  2. Add com.idescout.sql:sqlscout-server:2.0 as a dependency to your project's app module:

    compile 'com.idescout.sql:sqlscout-server:2.0'
    
  3. In the onCreate method of your main Activity invoke the method com.idescout.sql.SqlScoutServer#create as follows:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        SqlScoutServer.create(this, getPackageName());
    

以下是一些用于实时数据可视化和编辑的视图

enter image description here enter image description here


0

根据数据的复杂性,您还可以在设备本身上使用sqlite浏览器。 Android有各种免费的sqlite浏览器(例如SQLite Manager),可让您在已root的设备上浏览sqlite数据。由于genymotion设备映像已经rooted,因此很容易安装其中一个应用程序并以这种方式查看数据。同样,如果数据很简单,则效果最佳-对于较大的数据集来说有点繁琐。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接