Environment.getExternalStorageDirectory () в эмуляторе - PullRequest
3 голосов
/ 29 сентября 2011

Я хочу читать и записывать изображения на внешнее хранилище в моем приложении. Из того, что я прочитал, является правильным способом получить указатель на каталог.

 File externalStorageDir = Environment.getExternalStorageDirectory();
 File picturesDir = new File(externalStorageDir, "Pictures");

Однако ...

 picturesDir.exists(); // == null
 picturesDir.mkdir(); // == false

Это потому, что я использую эмулятор?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2011

Возможно, вы захотите убедиться, что у вас включено внешнее хранилище:

В Eclipse перейдите в «Окно»> «Android SDK» и «AVD Manager». Выберите соответствующий AVD и затем нажмите «Изменить».

Window - Android SDK and AVD Manager

Убедитесь, что у вас включена поддержка SD-карты. Если вы этого не сделаете, нажмите кнопку «Создать» и выберите «Поддержка SD-карты».

Edit screen

РЕДАКТИРОВАТЬ: Также необходимо добавить

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

к манифесту.

1 голос
/ 29 сентября 2011

По умолчанию эмулятор запускается без SD-карты.Сначала вы должны создать образ SD-карты, используя команду mksdcard в консоли.См. Документ SDK: https://developer.android.com/studio/command-line/mksdcard.html

Следовательно, в консоли введите команду для запуска эмулятора с этой SD-картой:

    emulator -avd <emulator name> -sdcard <sdcard image name>

Для лучшей производительности я настоятельно рекомендую отладитьприложение через реальное устройство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...