在Android Studio中更改数据库的路径

时间:2015-01-12 09:58:57

标签: java android sqlite

我在Android Studio的Sqlite中使用openOrCreateDatabase保存了一个数据库。我知道它保存在Android设备的根文件夹中(特别是数据/数据),但我看不到原始数据库文件。

我在Studio中尝试了adb shell命令和Android设备管理器,但我无法看到它。

有没有办法更改数据库的路径或访问数据/数据中的数据库而无需为我的手机生根?

2 个答案:

答案 0 :(得分:1)

您无法在没有root设备的情况下访问数据文件夹。

但您可以将数据库从数据文件夹复制到SD卡,例如下载文件夹

File backupDB = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "Database.db");
File currentDB = context.getDatabasePath(DATABASE_NAME);
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();
}

您还需要获得许可

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

答案 1 :(得分:0)

要查看应用数据文件夹中的内容,您可以使用run命令as,如下所示

adb shell
$ run-as package.name

现在您将进入具有所有访问权限的指定应用程序的数据文件夹内。