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

Java Android将SQLite数据库导出到计算机/Mac,java,android,database,sqlite,Java,Android,Database,Sqlite,我在Android设备(我自己的应用程序)上有一个SQLite数据库。现在我想在我的计算机上查看SQLite数据库 有没有什么解决方案(简单的方法)可以在我的计算机上获得没有根权限和SD卡的数据库 我试着用谷歌搜索它,但我找不到任何解决这个问题的方法 编辑:我没有使用模拟器(我的设备上需要摄像头)。如果您在默认位置保存Sqlite DB,您可以在如下路径中找到相同的内容 /data/data/com.dev.myapplication/databases/mydb.db 您可以使用Androi

我在Android设备(我自己的应用程序)上有一个SQLite数据库。现在我想在我的计算机上查看SQLite数据库

有没有什么解决方案(简单的方法)可以在我的计算机上获得没有根权限和SD卡的数据库

我试着用谷歌搜索它,但我找不到任何解决这个问题的方法


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

如果您在默认位置保存Sqlite DB,您可以在如下路径中找到相同的内容

/data/data/com.dev.myapplication/databases/mydb.db
您可以使用Android设备监视器找到相同的内容,通过它您可以导航到内部和外部内存

找到数据库文件后,通过USB电缆连接后,将其解压缩并保存到桌面。您可以使用选项“从设备中提取文件”


将文件提取到桌面后,请使用与查看数据库类似的任何工具。

此方法适用于我的无根设备

//检查您的设备是否已连接

亚洲开发银行设备

亚行壳牌

以您的.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

如果手机没有根目录,您无法直接访问数据库,但您可以将其复制到下载文件夹,然后复制到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();
    }
}

在我看来,没有根目录的设备无法从中获取sqlite数据库。好的,非常感谢。最简单的方法是通过终端,这是本链接中的完整指南。dheeraj bhaskar的回答。但是我需要根权限才能获取这个数据库,是吗?我已尝试此操作,但我的“数据”文件夹为空。此操作不需要根权限。尝试保存到其他位置并进行验证。例如,您的外部SD卡位置和一些自定义文件夹。我没有SD卡…我尝试将其保存到其他位置。谢谢。请复制到文件夹以便于您访问。不要吃贝壳。cd mnt/然后是ls。告诉我文件夹的名称。我将告诉您在哪里复制数据库我的计算机上的文件夹名称?否,设备上的文件夹。做adb外壳,cd mnt,然后ls(伦敦的it L)并告诉我结果。哦,好的。我还以为是上流社会。我稍后告诉你,因为我在工作:我使用了cat命令。cp不起作用。cat/data/data/your.package.name/databases/database.name>/mnt/sdcard/database.sqlite谢谢,我稍后再试。如果这有效,你会得到一个+vote@FunkyMan你还不能投票。但是你可以把这个答案标记为接受。不过,我想您必须等几天。访问权限被拒绝问题无法复制