【问题标题】:data folder not opening in android device monitor API 19数据文件夹未在 android 设备监视器 API 19 中打开
【发布时间】:2018-12-23 12:53:09
【问题描述】:

我正在使用 USB 调试(SM - G335h 版本 4.4.2 API 19),我想从 android studio 导出数据库,但数据文件夹无法展开。有谁知道如何解决这个问题? 我尝试使用 adb root 对我的手机进行 root,但它不起作用。

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    解决此问题的方法是将数据库文件复制到应用程序内可访问的位置。

    例如,这样的位置可以是下载文件夹,可以通过以下方式确定/访问:-

    File yourdir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath());
    
    • 请注意,您需要设置适当的权限。

    您可以使用以下方法获取数据库位置:-

    Context.getDatabasePath("your_database_name");
    

    例如一个非常基本/最小的例子可能是:-

        File from = new File(a_suitable_context.getDatabasePath("your_database_name").getPath());
        File to = new File(a_suitable_context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath() + File.separator + "your_db_savename");
        byte[] bffr = new byte[1024];
        FileInputStream fsfrom;
        FileOutputStream fsto;
        try {
            fsfrom = new FileInputStream(from);
            fsto = new FileOutputStream(to);
            while(fsfrom.read(bffr) > 0) {
                fsto.write(bffr);
            }
            fsto.flush();
            fsfrom.close();
            fsto.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    

    然后您可以从 AS 的设备资源管理器访问此文件。例如:-

    • 请注意,这使用了“下载”文件夹中的子目录。

    • 注意a_suitable_contextyour_database_nameyour_db_savename 将是您提供的合适值(后者都可以是数据库名称)。

    • 如果数据库非常大,那么您可能希望增加 bfrr 大小。

    您也可以使用这里的解决方案Android Device Monitor “data” folder is empty

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-11
      • 2016-04-08
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      相关资源
      最近更新 更多