我想在我的应用中读取和写入外部存储设备的图像。从我读到的内容是获取目录句柄的正确方法。
File externalStorageDir = Environment.getExternalStorageDirectory();
File picturesDir = new File(externalStorageDir, "Pictures");
然而......
picturesDir.exists(); // == null
picturesDir.mkdir(); // == false
这是因为我正在使用模拟器吗?
答案 0 :(得分:2)
您可能希望确保启用了外部存储:
在Eclipse中,转到Window> Android SDK和AVD Manager。选择适当的AVD,然后单击“编辑”。
确保已启用SD卡支持。如果没有,请单击“新建”按钮,然后选择“SD卡支持”选项。
编辑:还需要添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
到清单。
答案 1 :(得分:1)
默认情况下,模拟器将在没有SD卡的情况下启动。
您应首先使用控制台中的mksdcard
命令创建SD卡映像。
请参阅SDK文档:https://developer.android.com/studio/command-line/mksdcard.html
因此,在控制台中,键入命令以使用该SD卡启动模拟器:
emulator -avd <emulator name> -sdcard <sdcard image name>
为了获得更好的性能,我强烈建议您通过真实设备调试您的应用。