如何在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中检查数据库中的表值?的主要内容,如果未能解决你的问题,请参考以下文章