如何在android中检查数据库中的表值?

Posted

技术标签:

【中文标题】如何在android中检查数据库中的表值?【英文标题】:How to check table value in database in android? 【发布时间】:2013-10-19 03:13:55 【问题描述】:

我正在使用 android 中的 sqlite 实现数据库。我成功创建表并插入值。我还检索值。 但我的问题是如何从 DDMS 获取 DB 文件。实际上我看到一个开发人员从 DDMS 或其他地方(我不知道)获取文件并打开它并看到其中的所有值?

您能告诉我如何获取那个文件吗?以便我查看它。

让我再解释一下。我需要 sqlite(我在其中创建表)以便我检查条目?

【问题讨论】:

【参考方案1】:

你可以在 DBMS->file explorer->data->data->your package 中看到它

【讨论】:

我们可以检查一下模拟器吗..? 当我进入文件资源管理器时,我没有在模拟器中获得数据选项 是的,这在模拟器中工作。在您转到文件资源管理器部分之前,您应该在 DBMS 的设备部分中选择您的模拟器,然后您在文件资源管理器中有文件夹数据 你不能在模拟器上检查你的数据库,你只能在我说的 dbms 中检查它 我得到了文件。现在锄头检查我的包裹。有很多包裹【参考方案2】:

检查 Sqlite Manager Plugin for eclipse。

SQLiteManager plugin for eclipse

Not able to open database file in SQLite manager plugin for eclipse?

【讨论】:

【参考方案3】:

您想从安卓设备(三星、索尼...)的内存中获取数据库文件吗? 如果你的设备没有root,那是不可能的。

【讨论】:

我正在检查模拟器【参考方案4】:

有两种情况:有根或无根。

如果已root,您可以使用命令行执行以下操作:

adb shell
su
cd /data/data/com.your.company/databases/
cp your.sqlite /sdcard

那么就在你的sdcard里,你可以adb pull /scard/your.sqlite

但这太麻烦了,所以你真正应该做的是,在你的java代码中:

new File(database.getPath()).setReadable(true, false);

数据库是您的 SQLiteDatabase 实例,可能在 SQLiteHelper 类中。 然后你可以简单地:

adb pull /data/data/com.your.company.package/databases/your.sqlite

【讨论】:

【参考方案5】:

您始终可以使用 ADB 来解决您的问题。 如果您是同一应用程序的开发人员,请使用此命令进行推拉以获取数据库并查看 adb shell run-as com.example.yourapp cd /data/data/com.example.yourapp/databases chmod 666 ./com.example.yourapp.db 或 您可以通过ls -l 来查看数据库的名称和权限 pull com.example.yourapp.db C:\Where_you_want_the_database OR pull ./com.example.yourapp.db C:\Where_you_want_the_database 您可以使用SQLlite browser 编辑数据库,也可以像这样推送数据库push C:\your_database.db /data/data/com.example.yourapp/databases

即使在没有root设备以及在模拟器和真实设备上也能正常工作。

【讨论】:

以上是关于如何在android中检查数据库中的表值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Android从sqlite中的表中删除所有记录?

检查MYSQL数据中的表是否都正常

检查雪花中的表架构更改

如何在服务 Android 中检查数据库

如何正确使用表值函数?

检查删除是不是删除所有表值的触发器