如何使用Android设备监视器将测试文件加载到SDCard

时间:2017-04-24 15:45:30

标签: android android-sdcard android-device-monitor

我试图测试从SDCard上的文件中读取的代码。为此,我想将示例文件加载到我的模拟器的SD卡上。我相信我可以通过将文件推送到模拟设备的文件夹来安装Android设备监视器,但是哪一个?我似乎能够将文件放到模拟SD卡上,并在模拟器设置\存储和USB \ SD卡上看到它们,但我的代码报告文件未找到。有什么建议吗?我在Mac上使用Android studio v2.3.1。这是我的代码:

    File dir = Environment.getExternalStorageDirectory();
    File file = new File(dir,"dtcontrol.xml");

    StringBuilder text = new StringBuilder();

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();
    }
    catch (IOException e) {
        e.printStackTrace();
        return;
    }

我的清单有权限,我相信这会让我访问SD卡:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
etc....

1 个答案:

答案 0 :(得分:0)

您必须检查Android 6.0中添加的运行时权限,现在还不足以在安装应用时询问权限。

这很容易,在尝试加载数据库文件之前,您必须检查READ_EXTERNAL_STORAGE权限,如果他们被授予,您可以继续。在official docs中,您有关于如何检查和请求运行时权限的更多信息。

其他方法是创建一个API低于23的Android Virtual Device,以便测试代码而无需添加运行时权限,但在发布之前,您应该添加它们。