2

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

您能告诉我如何获取该文件。以便我查看它。

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

4

5 回答 5

1

检查 Sqlite 管理器插件以获取 Eclipse。

SQLiteManager plugin for eclipse

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

于 2013-10-19T04:31:48.457 回答
1

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

于 2013-10-19T03:39:36.513 回答
0

您可以随时使用 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
或者您可以使用 SQLlite 浏览器
pull ./com.example.yourapp.db C:\Where_you_want_the_database
编辑数据库,您还可以像这样推送数据库
push C:\your_database.db /data/data/com.example.yourapp/databases

即使没有植根设备以及在模拟器和真实设备上,这也能很好地工作。

于 2013-10-19T12:09:36.197 回答
0

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

于 2013-10-19T03:42:07.203 回答
0

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

如果已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
于 2013-10-19T04:01:54.143 回答