【问题标题】:View SQLite DB on Android device在 Android 设备上查看 SQLite DB
【发布时间】:2014-05-02 09:58:04
【问题描述】:

所有,

我有一个 Eclipse Kepler,我正在其中开发我的 Android 应用程序。此应用程序使用 SQLite 进行数据持久化。

我想做的是在 Eclipse 中查看数据库/表/数据。按照this 我打开安装插件,然后打开文件资源管理器。

问题是:尝试打开 /data 不成功。打不开。

我是否必须 root 设备才能打开此目录?我有安卓 2.2 的 LG 手机。

此文件夹的权限集是 drwxrwx--x。

谢谢。

[编辑]

我也尝试过运行shell

igor@IgorReinCloud ~ $ android_sdk/platform-tools/adb -d shell
$ sqlite3 /data/data/com.radar.radar/databases/friends.db
sqlite3: permission denied
$ 

所以这实际上意味着这是一个权限问题,因此我将无法看到数据库。

[/编辑]

【问题讨论】:

  • 如果您在实际设备上进行操作,那么是的,您需要 root 权限才能实际浏览内存。否则,您也可以使用adb pull 来拉取数据库文件无需root。相关:stackoverflow.com/questions/9997976/…

标签: android eclipse sqlite


【解决方案1】:

你可以试试

$ adb -d shell
$ run-as [your-package-name]

这应该允许您以该包的用户身份运行命令。虽然没有保证。此外,我发现并非所有设备似乎都可以通过 shell 使用 sqlite3。

另一种可能是像上面那样执行run-as 命令,然后将数据库文件复制到/sdcard,这是公开的。然后你可以做adb pull /sdcard/[database-file]。然后,您将在本地计算机上拥有该文件,并且可以在那里使用 sqlite3。

【讨论】:

  • 如何将文件复制到sdcard?
  • 我的手机没有root。我是否必须root手机才能将数据复制到sdcard?
  • @DCoder 不,这不应该需要 root。
【解决方案2】:

使用这个简单的库,您可以直接从您的应用程序中查看您的 SQLlite 数据库。无需额外的 .db 文件 https://github.com/sanathp/DatabaseManager_For_Android

它是一个单一的 java 活动文件,只需将 java 文件添加到您的源文件夹中,您就可以查看应用程序数据库中的表,更新、删除、插入行到您的表中。一切都来自您的应用程序。

开发完成后,从 src 文件夹中删除 java 文件。

对我帮助很大。希望对你也有帮助。

您可以在此处查看 1 分钟演示:http://youtu.be/P5vpaGoBlBY

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多