- Как найти карту памяти в телефоне
- Доступ к внешнему накопителю
- Что делать, если файловый менеджер не видит карту
- Инструкция по использованию SD-карты в устройстве с ОС Android
- Установка SD-карты в слот android-устройства
- Шаг 1. Как правильно установить карту памяти
- Шаг 2. Как включить карту памяти sd
- Использование SD-карты
- Как перенести приложения на карту памяти
- Как перенести файлы с телефона на карту памяти Андроид
- Шаг 1. Копирование сохраненных в телефоне файлов на внешний накопитель
- Шаг 2. Удаление файлов, сохраненных во внутреннем накопителе смартфона.
- Просмотр файлов или приложений, сохраненных на карте памяти
- Форматирование съемного накопителя
- Отключение и извлечение карты памяти
- Шаг 1. Отключение карты памяти
- Получение пути к карте памяти SD Card на Android
- Терминология
- Результаты поиска
- Описание кода
- Пример использования
- Заключение
Как найти карту памяти в телефоне
Доступ к внешнему накопителю
Для того чтобы открыть карту памяти в файловой системе устройства, нужно воспользоваться приложением для доступа к ней.
- В случае «чистого» Android 11 нужная программа называется «Файлы» и присутствует по умолчанию – откройте её.
Тапните по кнопке вызова меню – она выглядит как три горизонтальные полоски.
Если вы не видите в столбце ничего, связанного с SD, обратитесь к разделу решения проблем ниже.
В сторонних файловых менеджерах доступ к внешнему накопителю можно получить по подобному алгоритму.
Что делать, если файловый менеджер не видит карту
В некоторых случаях выполнение инструкции выше приводит к тому, что позиция, соответствующая внешнему накопителю, не появляется. Это может означать несколько вариантов проблемы.
- Наиболее часто отсутствие microSD значит, что она отформатирована как часть внутреннего хранилища телефона – для расширения имеющейся памяти под приложения и их данные. Следовательно, чтобы получить доступ, карту придётся переключить в режим внешнего носителя – о том, как это сделать, и обо всех нюансах процедуры вы можете прочитать в статье по ссылке далее.
Вторая причина – карта отформатирована в неподдерживаемой Андроидом файловой системе, как правило, NTFS. Обычно при подключении такого носителя ОС сама предлагает подготовить его к использованию, показывая уведомление. Возможно, вы в своё время его пропустили — в таком случае достаточно извлечь microSD и вставить обратно, после чего система повторно отобразит предложение.
Самый тяжёлый случай – карта функционирует неправильно из-за программных (сбилась таблица разделов) или аппаратных (вышел из строя контроллер либо схемы памяти) причин. В последнем варианте единственным 100% рабочим методом решения будет приобретение нового накопителя, тогда как в первом работоспособность можно восстановить, но ценой потери всех данных, которые на нём находились. Если это вас устраивает, воспользуйтесь руководствами по ссылкам далее.
Помимо этой статьи, на сайте еще 12470 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Инструкция по использованию SD-карты в устройстве с ОС Android
Илья – главный редактор сайта softdroid.net. Является автором нескольких сотен руководств и статей по настройке Android. Около 15 лет занимается ремонтом техники и решением технических проблем iOS и Android. Имел дело практически со всеми более-менее популярными марками мобильных смартфонов и планшетов Samsung, HTC, Xiaomi и др. Для тестирования используется iPhone 12 и Samsung Galaxy S21 с последней версией прошивки.
Некоторые устройства на операционной системе Android имеют слот под карту памяти, чаще всего, формата microSD. Если у вас одно из таких устройств, это позволит:
- хранить большее количество информации за счет увеличения объема памяти;
- переносить некоторые приложения из внутреннего накопителя смартфона на SD-карту без потери их функционала.
Найти информацию о наличии слота под карту памяти sd можно на странице вашего устройства на сайте компании-производителя.
Некоторые из функций sd карты доступны только в устройствах с версией Android 6.0 и выше.
Установка SD-карты в слот android-устройства
Шаг 1. Как правильно установить карту памяти
- Определите расположение слота под сд карту в вашем устройстве.
- Выключите устройство.
- Извлеките слот или откройте заднюю панель устройства. Если это необходимо, приподнимите держатель карты памяти.
- Установите карту в нужное положение. Опустите держатель, если это необходимо.
- Верните слот и/или заднюю панель устройства в исходное положение.
Шаг 2. Как включить карту памяти sd
1. После включения телефона вы получите уведомление об установке карты памяти.
2. Кликните кнопку «Настроить».
3. Выберите один из вариантов настройки памяти:
- Съемный накопитель. При выборе этого пункта можно сохранять файлы (музыку, фото и т.п.), переносить их с sd-картой на любое устройство, имеющее слот под карту, без потери сохраненной информации. Перенос приложений в этом случае не предусмотрен.
- Внутренняя память. Выбирая этот пункт, вы получаете возможность сохранить приложения на дополнительном накопителе, но использовать их можно только на этом устройстве. После переноса сд карты в другое устройство она будет очищена.
4. Проведите дальнейшую настройку по подсказкам, возникающим на дисплее телефона.
5. Когда настройки памяти будут завершены, нажмите кнопку «Готово».
Использование SD-карты
Как перенести приложения на карту памяти
Если во время настройки вы выбрали пункт «Внутренняя память», то можете переместить некоторые приложения на дополнительный накопитель. Не для всех приложений доступен перенос из внутреннего хранилища на внешний накопитель.
Зайдите в настройки своего устройства.
Найдите пункт «Приложения».
Выберите, что именно хотите сохранить на карте памяти.
Выберите пункт «Хранилище».
Зайдите в раздел «Использовано» и кликните кнопку «Изменить».
Выберите пункт «SD-карта».
Проведите дальнейшую настройку по подсказкам, возникающим на дисплее вашего смартфона.
Как перенести файлы с телефона на карту памяти Андроид
Если во время настройки вы выбрали пункт «Съемный накопитель», это дает возможность переместить сохраненные на вашем телефоне файлы (музыку или фото и т.п.) на sd-карту, таким образом, освободив внутреннее хранилище смартфона.
Шаг 1. Копирование сохраненных в телефоне файлов на внешний накопитель
- Зайдите в настройки своего устройства.
- Кликните пункт «Память».
- Кликните пункт «Внутренняя память».
- Выберите, какой тип файлов вам нужно переместить.
- Долгим нажатием выберите те файлы, которые вам нужно отправить на внешний накопитель.
- Нажмите на три точки (⋮), выберите пункт «Скопировать в. ».
- Выберите пункты Сохранить → SD-карта.
- Выберите папку, в которой хотите сохранить файлы.
- Скопируйте выбранные файлы.
Шаг 2. Удаление файлов, сохраненных во внутреннем накопителе смартфона.
- Зайдите в настройки своего устройства.
- Выберите «Память».
- Выберите пункт «Внутренняя память».
- Выберите, какой тип файлов вы хотите удалить.
- Долгим нажатием выберите те файлы, которые нужно удалить.
- Выберите значок корзины.
Просмотр файлов или приложений, сохраненных на карте памяти
На телефоне можно просматривать список всех файлов, приложений. Кроме того, Андроид позволяет узнать, сколько свободного места осталось на sd-карте.
Если при настройке накопителя был выбран пункт «Внутренняя память»
- Зайдите в настройки своего устройства.
- Выберите «Память».
- В списке выберите карту памяти.
- Теперь можно увидеть количество использованного места, а также, сколько памяти накопителя еще свободно. Выбирая различные категории, вы можете просматривать, какие именно файлы скачаны на sd карту.
Если при настройке накопителя был выбран пункт «Съемный накопитель»
- Вытащите панель управления движением пальца по экрану смартфона сверху вниз.
- Нажмите кнопку «Открыть» под активным уведомлением об установке карты памяти.
Форматирование съемного накопителя
- Зайдите в настройки своего устройства.
- Выберите пункт «Память».
- В списке меню нажмите пункт sd-карта.
- Нажмите на три точки (⋮), выберите пункты Настройки → Формат.
- Выберите пункт «Очистить и отформатировать» — это удалит все сохраненные приложения/файлы, хранившиеся в памяти внешнего накопителя.
Отключение и извлечение карты памяти
Чтобы не повредить данные, сохраненные на съемном накопителе, перед извлечением его необходимо безопасно отключить!
Шаг 1. Отключение карты памяти
- Зайдите в настройки своего устройства.
- Выберите пункт «Память».
- Выберите пункт «Извлечь».
Приложения, сохраненные на карте памяти, после ее отключения не будут работать, пока карта не будет вставлена и подключена заново.
Источник
Получение пути к карте памяти SD Card на Android
Разрабатывая приложение для проведения соревнований, я столкнулся с проблемой хранения базы данных. Проблема состояла в том, как мне определить внешнюю карту памяти. В целом поиск в сети точного ответа не дал. Поэтому, объединив все найденные результаты, я собрал свой класс. Если кому интересно, смотрим под катом.
Итак, начнем с теории.
Терминология
Гугл нам говорит, что есть следующие понятия:
- Внутренняя (internal) память — это часть встроенной в телефон карты памяти. При ее использовании по умолчанию папка приложения защищена от доступа других приложений (Using the Internal Storage).
- Внешняя (external) память — это общее «внешнее хранилище», т.е. это может быть как часть встроенной памяти, так и удаляемое устройство. Обычно это часть встроенной памяти, как удаляемое устройство я видел в последний раз на андройде 2.2, где встроенная память была около 2Гб, и подключаемая память становилась внешней (Using the External Storage).
- Удаляемая (removable) память — все хранилища, которые могут быть удалены из устройства без «хирургических» вмешательств.
До версии KitKat 4.4 API не предоставляло функционала для получения путей к внешней памяти. Начиная с этой версии (API 19) появилась функция public abstract File[] getExternalFilesDirs (String type), которая возвращает массив строк с путями к внутренней и внешней памяти. Но как же быть с нашей SD Card, которая вставлена в слот? Путь к ней мы опять не можем получить.
Результаты поиска
Чтобы ответить на поставленный вопрос я обратился к всезнающему гуглу. Но и он мне не дал четкого ответа. Было рассмотрено множество вариантов определения от использования стандартных функций, которые ведут к внешней памяти, но ничего общего с удаляемыми устройствами хранения данных они не имеют, до обработки правил монтирования устройств (Android же на ядре Linux работает). В последних случаях были использованы «зашитые» пути к папке с примонтироваными устройствами (в различных версиях эта директория разная). Не стоит забывать, что от версии к версии правила монтирования меняются.
В конечном итоге я решил объединить все полученные знания и написал свой класс, который может нам вернуть пути к внешним и удаляемым устройствам.
Описание кода
Был создан класс MountDevice, который содержит в себе путь к устройству, тип устройства и некий хэш.
Типов устройств выделено два (внутреннюю память я не стал трогать, так как к ней доступ можно получить через API системы).
И был создан класс StorageHelper, который и осуществляет поиск доступных карт памяти.
В классе StorageHelper реализовано два способа поиска — через системное окружение (Environment) и с использованием утилиты Linux mount, а точнее результата ее выполнения.
Способ первый — Environment
При работе с окружением я использую стандартную функцию getExternalStorageDirectory() для получения информации о внешней памяти. Чтобы получить информацию о удаляемой памяти, я использую переменную окружения «SECONDARY_STORAGE«.
Внешняя память всегда одна и обычно всегда есть, поэтому проверяем ее на читаемость, вычисляем хэш и запоминаем. Удаляемой памяти может быть много, поэтому необходимо полученную строку разбить по разделителю и проверять каждое значение.
Вариант решения взят со stackoverflow. Ответ где-то там внизу.
Способ второй — mount
Так как у меня долго не получалось заставить систему мне сказать путь к удаляемой памяти, я решил искать в сторону примонтированных устройств. В системе есть файлы конфигурации, в которых описаны правила монтирования внешних устройств. Все бы хорошо, но на Android версии 4.* к этому файлу простым смертным доступа нет, поэтому рассматривать этот способ не буду.
Вернемся к утилите mount. При запуске без параметров команда возвращает список смонтированных файловых систем. Удаляемые устройства имеют обычно формат файловой системы FAT, то будем выделять строки, в которых есть характеристика «fat«. Внешняя память будет характеризоваться параметром «fuse«.
Примечание: при использовании такого способа не всегда корректно (скорее всего я что-то не учел) определяются типы смотнтированных устройств. Разницу замечал на разных версиях Android. Поэтому этот способ можно использовать как дополнительный.
Вариант решения взят со stackoverflow. Ответов там несколько примерно одинаковых.
Про дублирование
Многие замечали в директории монтирования устройств такую картину:
И что самое интересно, все это одна и та же внешняя карта памяти. Такое дробление начинается с версии Jelly Bean и сделано это для поддержки многопользовательского режима работы системы. Более подробно тут. И вот, чтобы не получать одну и туже карту памяти как различные устройства, необходим способ определения идентичности. Если бы был доступ к конфигурации монтирования, то и вопросов не было. Но доступа нет. Поэтому я тут подсмотрел решение с расчетом хэша для каждого устройства:
- создаем StringBuilder
- записываем в него общий размер устройства и размер используемого пространства устройства
- обходим содержимое корня устройства
- записываем имя каталога
- записываем имя файла и размер
- вычисляем hash
Пример использования
Заключение
Подробные рассуждения по этому вопросу понимания памяти в Android, некоторые советы можно прочитать тут.
Исходный код всего класса расположен еще нигде не расположен. На днях постараюсь разместить на gitHub.
Источник