我在android中使用sqlite实现数据库。我创建表并成功插入值。我也检索了值。 但我的问题是如何从DDMS获取数据库文件。实际上我看到一个开发人员从DDMS或其他地方(我不知道)获取文件打开它并看到了所有值?
请告诉我如何获取该文件。我会查看它。
让我再解释一下。我需要sqlite(我在其中创建表格)以便我检查条目?
答案 0 :(得分:1)
你可以在DBMS->文件资源管理器 - > data-> data->你的包
中看到它答案 1 :(得分:1)
检查eclipse的Sqlite Manager插件。
SQLiteManager plugin for eclipse
Not able to open database file in SQLite manager plugin for eclipse?
答案 2 :(得分:0)
你想从Android设备的内部存储器获取DB文件(samsung,sony ......)? 如果你的设备没有植根,那是不可能的。
答案 3 :(得分:0)
有两种情况:有根或无根。
如果是root,您可以使用命令行执行以下操作:
adb shell
su
cd /data/data/com.your.company/databases/
cp your.sqlite /sdcard
然后它在你的SD卡中,你可以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
答案 4 :(得分: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
或
pull ./com.example.yourapp.db C:\Where_you_want_the_database
您可以使用SQLlite browser编辑数据库,也可以像这样推送数据库
push C:\your_database.db /data/data/com.example.yourapp/databases
即使没有生根设备,也适用于模拟器和真实设备。