我的Android设备上有一个SQLite数据库(我自己的应用程序)。现在我想在我的电脑上看到SQLite数据库。
是否有任何解决方案(简单方法)在没有root权限且没有SD卡的情况下获取数据库?
我试图谷歌,但我无法找到解决此问题的任何方法....
编辑:我没有使用模拟器(我的设备上需要相机)。
答案 0 :(得分:6)
如果手机未植根,则无法直接访问您的数据库,但您可以将其复制到下载文件夹,然后复制到PC
public static void copyAppDbToDownloadFolder(Activity ctx) throws IOException {
File backupDB = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
"databse_name.db"); // for example "my_data_backup.db"
File currentDB = getApplicationContext().getDatabasePath("databasename.db");
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
答案 1 :(得分:3)
此方法适用于我的无根设备。
//检查您的设备是否已连接
adb devices
adb shell
run-as your.package.name
chmod 777 databases / your.database.name
出口
cp /data/data/your.package.name/your.database.name mnt / sdcard /
出口
adb pull mnt / sdcard / your.database.name
答案 2 :(得分:1)
如果您将Sqlite DB保存在默认位置,您可以在路径中找到相同的内容,如下面的
/data/data/com.dev.myapplication/databases/mydb.db
您可以使用Android设备监视器找到相同的内容,通过它可以导航到内部和外部内存。
找到数据库文件后,通过USB线连接后将其解压缩并保存在桌面上。您可以使用“从设备中提取文件”选项
将文件解压缩到桌面后,请使用与Mozilla Firefox SQLite viewer类似的任何工具来查看数据库。