Intereting Posts
HashMap дает неупорядоченный список значений? Один символ в Base64String содержит сколько байтов? 1, 2 или более Android: сервер DrmManager умер Android EditText maxLength позволяет пользователю вводить больше Как создать тестовые классы, которые можно использовать как в тестах Android, так и в модульных тестах? Ориентировочное время отметки времени сенсора Android Найти фрагмент по имени тега в контейнере В каком блоге разработки Android есть самые пошаговые руководства и учебные пособия? Размер Admob SMART_BANNER Android Espresso multidex не работает Как использовать модификацию в качестве синглета при использовании gson-преобразователя? Android: установить соединение с Интернетом Почему BitmapFactory.decodeByteArray возвращает значение null? Как одушевить наложение окна редактирования на вкладке-макете на Android? Android WebView не удается полностью отобразить контент до взаимодействия с пользователем

Android, как использовать Environment.getExternalStorageDirectory ()

Как я могу использовать Environment.getExternalStorageDirectory() для чтения сохраненного изображения с SD-карты или есть лучший способ сделать это?

Solutions Collecting From Web of "Android, как использовать Environment.getExternalStorageDirectory ()"

 Environment.getExternalStorageDirectory().getAbsolutePath() 

Дает вам полный путь к SDCard. Затем вы можете выполнять обычные операции ввода-вывода файлов с использованием стандартной Java.

Вот простой пример для записи файла:

 String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); String fileName = "myFile.txt"; // Not sure if the / is on the path or not File f = new File(baseDir + File.separator + fileName); f.write(...); f.flush(); f.close(); 

Редактировать:

К сожалению, вам нужен пример для чтения …

 String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); String fileName = "myFile.txt"; // Not sure if the / is on the path or not File f = new File(baseDir + File.Separator + fileName); FileInputStream fiStream = new FileInputStream(f); byte[] bytes; // You might not get the whole file, lookup File I/O examples for Java fiStream.read(bytes); fiStream.close(); 

Имейте в виду, что getExternalStorageDirectory () не будет работать должным образом на некоторых телефонах, например, Motorola razr maxx, так как он имеет 2 карты / mnt / sdcard и / mnt / sdcard-ext – для внутренних и внешних SD-карт. Вы будете получать ответ / mnt / sdcard только каждый раз. Google должен предоставить способ справиться с такой ситуацией. Поскольку это делает многие SD-карты (например, резервное копирование) неудачными на этих телефонах.

Как описано в Documentation Environment.getExternalStorageDirectory () :

Environment.getExternalStorageDirectory () Возвращает первичный общий / внешний каталог хранилища.

Это пример того, как использовать его для чтения изображения:

 String fileName = "stored_image.jpg"; String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); String pathDir = baseDir + "/Android/data/com.mypackage.myapplication/"; File f = new File(pathDir + File.separator + fileName); if(f.exists()){ Log.d("Application", "The file " + file.getName() + " exists!"; }else{ Log.d("Application", "The file no longer exists!"; }