Android将SQLite数据库导出到计算机/ Mac

时间:2016-03-31 07:28:26

标签: java android database sqlite

我的Android设备上有一个SQLite数据库(我自己的应用程序)。现在我想在我的电脑上看到SQLite数据库。

是否有任何解决方案(简单方法)在没有root权限且没有SD卡的情况下获取数据库?

我试图谷歌,但我无法找到解决此问题的任何方法....

编辑:我没有使用模拟器(我的设备上需要相机)。

3 个答案:

答案 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线连接后将其解压缩并保存在桌面上。您可以使用“从设备中提取文件”选项

enter image description here

将文件解压缩到桌面后,请使用与Mozilla Firefox SQLite viewer类似的任何工具来查看数据库。