【问题标题】:How to get db file from my HTC one x?如何从我的 HTC one x 获取 db 文件?
【发布时间】:2012-11-24 13:10:57
【问题描述】:

我想获取我的应用程序的数据库。通常我会通过 DDMS 文件浏览器转到手机上的“数据”文件夹,将我的 db 文件导出到计算机上,然后通过 FF 的 SQLiteManager 插件打开它。但是在 HTC 上,一个 X 'data' 文件夹是空的,我找不到我的应用程序的安装位置。

您能给我一个建议或解决方案吗?

【问题讨论】:

    标签: android htc-android


    【解决方案1】:

    如果您使用的是实际设备,除非您对手机进行 root,否则您将无法从外部查看或访问它。

    如果您使用的是模拟器,DDMS 视图将让您导航到它并从那里拉取它。

    或者,您可能在创建数据库时遇到问题。没有看到您的代码,我们无法判断。

    如果您想从真实设备上获取文件,您需要实现一种方法,将其从数据目录复制到您可以访问的某个地方(例如您的 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");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-01-29
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多