我正在开发一个安卓应用程序。我已经在移动设备中测试了该应用程序,现在我需要查看我的应用程序的数据库(即移动数据库)。我正在使用 Mac 并且对如何从手机中提取数据库并在 SQLite 浏览器中查看它感到困惑。
谢谢你们的帮助。
您将无法在真实设备上使用(除非它已植根)。数据目录受到保护,不被拥有应用程序以外的任何人访问。
要将其从设备中取出,您需要在应用程序中设置一种方法,将数据库复制到可访问的位置(如 SD 卡)。以下是我以前用来执行此操作的代码:
public void backup() {
try {
File sdcard = Environment.getExternalStorageDirectory();
File outputFile = new File(sdcard,
"yourDB.bak");
if (!outputFile.exists())
outputFile.createNewFile();
File data = Environment.getDataDirectory();
File inputFile = new File(data,
"data/your.package.name/databases/yourDB");
InputStream input = new FileInputStream(inputFile);
OutputStream output = new FileOutputStream(outputFile);
byte[] buffer = new byte[1024];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
output.flush();
output.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
throw new Error("Copying Failed");
}
}