作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想获取我的应用程序的数据库。通常我通过 DDMS 文件浏览进入手机上的“数据”文件夹,在计算机上导出我的数据库文件并通过 FF 的 SQLiteManager 插件打开它。但是在 HTC 上,一个 X 的“数据”文件夹是空的,我找不到我的应用程序的安装位置。
你能给我一个建议或解决方案吗?
最佳答案
如果您使用的是真实设备,除非您对手机进行 root,否则您将无法从外部查看或访问它。
如果您使用的是模拟器,DDMS View 会让您导航到它并从那里拉出它。
或者,您可能在创建数据库时遇到问题。如果没有看到您的代码,我们无法判断。
如果您想从真实设备上获取文件,您需要实现一种方法,将其从您的数据目录复制到您有权访问的某个位置(例如您的 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");
}
}
关于android - 如何从我的 HTC one x 获取数据库文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541527/
我是一名优秀的程序员,十分优秀!