Полный список
— работаем с файлами
Работа с файлами в Android не сильно отличается от таковой в Java. В этом уроке рассмотрим, как записать/прочесть файл во внутреннюю память и на SD-карту.
Project name: P0751_Files
Build Target: Android 2.3.3
Application name: Files
Package name: ru.startandroid.develop.p0751files
Create Activity: MainActivity
Рисуем экран main.xml:
4 кнопки, смысл которых понятен по тексту на них.
В onclick обрабатываем нажатия 4-х кнопок и вызываем соответствующие методы.
writeFile – запись файла во внутреннюю память. Используется метод openFileOutput, который на вход берет имя файла и режим записи: MODE_PRIVATE – файл доступен только этому приложению, MODE_WORLD_READABLE – файл доступен для чтения всем, MODE_WORLD_WRITEABLE — файл доступен для записи всем, MODE_APPEND – файл будет дописан, а не начат заново.
readFile – чтение файла из внутренней памяти. Используем метод openFileInput, принимающий на вход имя файла. Здесь и в методе записи внутреннего файла вы можете задать только имя файла, а каталог для ваших файлов вам уже выделен.
writeFileSD – запись файла на SD. Используем метод getExternalStorageState для получения состояния SD-карты. Здесь можно посмотреть какие бывают состояния. Нам нужно MEDIA_MOUNTED – когда SD-карта вставлена и готова к работе. Далее мы получаем путь к SD-карте (метод getExternalStorageDirectory), добавляем свой каталог и имя файла, создаем каталог и пишем данные в файл.
readFileSD – чтение файла с SD. Все аналогично предыдущему методу, только файл не пишем, а читаем.
Осталось в манифест добавить разрешение на работу с файлами на SD — android.permission.WRITE_EXTERNAL_STORAGE.
Все сохраним и запустим. Видим экран с 4-мя кнопками:
Внутренняя память
Жмем кнопку Записать файл. Видим в логе:
Проверим. Идем в File Explorer (Window > Show View > Other > Android > File Explorer) и открываем там папку data/data/ru.startandroid.develop.p0751files/files и видим там наш файл file.
Возвращаемся в эмулятор. Жмем Прочесть файл и в логе видим:
Это тот текст, который мы записывали в файл.
SD карта
Теперь жмем Записать файл на SD.
Файл записан на SD: /mnt/sdcard/MyFiles/fileSD
Проверяем. Идем в FileExplorer и открываем там папку mnt/sdcard/MyFiles/ а в ней файл fileSD.
Возвращаемся в эмулятор и жмем кнопку Прочесть файл с SD. В логе видим:
Содержимое файла на SD
Этот текст мы и записывали.
mnt/sdcard — обычно этот путь ведет к содержимому SD-карты. Возможно у вас он будет другой.
В общем, при работе с файлами на SD вы используете стандартные java механизмы. А при работе с внутренним хранилищем для удобства можно использовать методы-оболочки от Activity:
openFileOutput – открыть файл на запись
openFileInput – открыть файл на чтение
И есть метод getFilesDir – возвращает объект File, соответствующий каталогу для файлов вашей программы. Используйте его, чтобы работать напрямую, без методов-оболочек.
Подробности работы в java с файловой системой я здесь описывать не буду. На нашем форуме пользователь SKR сделал отличную памятку по работе с файлами. Скорее всего, вы найдете там все что нужно.
Если у вас проверка SD-карты показывает, что карта недоступна (см. лог), то убедитесь в свойствах AVD, что у вас для SDCard указан Size или File. Если указаны, то попробуйте перезапустить AVD.
На следующем уроке:
— создаем экран с вкладками
— используем иконку в названии вкладки
— используем обработчик перехода между вкладками
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Android Studio Указать путь к файлу
Есть код, который работает на эмуляторе, но на реальном устройстве почему-то не работает, вместо путь к файлу, этот говнокод пишет какие рандомные 4 или 5 цифр
На эмуляторе: storage/emulated/0/Download/data.xml
На реальном устройстве: 2384
Указать путь к файлу (Android studio)
Здравствуйте, вот уже 4 дня не могу во всем интернете найти никакой подсказки, мне нужно чтобы.
Работа с txt файлами в Android. Путь к файлу
Здравствуйте! Уже 3ий день не могу разобраться с тем, как считывать из txt файла. Пишу на.
Указать путь к файлу
Проблема следующая, нужно чтобы путь к файлу задавался какой-то стандартной функцией, то есть в.
указать путь к файлу
есть папки bin //тут экзешник etc // здесь файл с настройками как указать путь к файлу с.
Указать путь к файлу.
Здраствуйте. Вопрос таков, можно ли на кнопку прописать, чтобы при нажатии открывался выбор пути и.
Как указать путь к файлу?
После опубликации проекта. при запуске приложения просит базу данных в.
Как указать путь к файлу?
Привет, подскажите пожалуйста, как мне лучше сделать? у меня есть программа, которая меняет текст.
Не получется указать путь к файлу
program lab_7; uses crt; const FileName=’MyFile.txt’; label 1; var G:text; n:char;
Указать путь к архивированному файлу
Здравствуйте. Можно ли использовать в программе файлы, находящиеся в архиве? Если да, то как.
Источник
Работа с файловой системой
Чтение и сохранение файлов
Работа с настройками уровня activity и приложения позволяет сохранить небольшие данные отдельных типов (string, int), но для работы с большими массивами данных, такими как графически файлы, файлы мультимедиа и т.д., нам придется обращаться к файловой системе.
ОС Android построена на основе Linux. Этот факт находит свое отражение в работе с файлами. Так, в путях к файлам в качестве разграничителя в Linux использует слеш «/», а не обратный слеш «\» (как в Windows). А все названия файлов и каталогов являются регистрозависимыми, то есть «data» это не то же самое, что и «Data».
Приложение Android сохраняет свои данные в каталоге /data/data/ / и, как правило, относительно этого каталога будет идти работа.
Для работы с файлами абстрактный класс android.content.Context определяет ряд методов:
boolean deleteFile (String name) : удаляет определенный файл
String[] fileList () : получает все файлы, которые содержатся в подкаталоге /files в каталоге приложения
File getCacheDir() : получает ссылку на подкаталог cache в каталоге приложения
File getDir(String dirName, int mode) : получает ссылку на подкаталог в каталоге приложения, если такого подкаталога нет, то он создается
File getExternalCacheDir() : получает ссылку на папку /cache внешней файловой системы устройства
File getExternalFilesDir(String type) : получает ссылку на каталог /files внешней файловой системы устройства
File getFileStreamPath(String filename) : возвращает абсолютный путь к файлу в файловой системе
FileInputStream openFileInput(String filename) : открывает файл для чтения
FileOutputStream openFileOutput (String name, int mode) : открывает файл для записи
Все файлы, которые создаются и редактируются в приложении, как правило, хранятся в подкаталоге /files в каталоге приложения.
Для непосредственного чтения и записи файлов применяются также стандартные классы Java из пакета java.io.
Итак, применим функционал чтения-записи файлов в приложении. Пусть у нас будет следующая примитивная разметка layout:
Поле EditText предназначено для ввода текста, а TextView — для вывода ранее сохраненного текста. Для сохранения и восстановления текста добавлены две кнопки.
Теперь в коде Activity пропишем обработчики кнопок с сохранением и чтением файла:
При нажатии на кнопку сохранения будет создаваться поток вывода FileOutputStream fos = openFileOutput(FILE_NAME, MODE_PRIVATE)
В данном случае введенный текст будет сохраняться в файл «content.txt». При этом будет использоваться режим MODE_PRIVATE
Система позволяет создавать файлы с двумя разными режимами:
MODE_PRIVATE : файлы могут быть доступны только владельцу приложения (режим по умолчанию)
MODE_APPEND : данные могут быть добавлены в конец файла
Поэтому в данном случае если файл «content.txt» уже существует, то он будет перезаписан. Если же нам надо было дописать файл, тогда надо было бы использовать режим MODE_APPEND:
Для чтения файла применяется поток ввода FileInputStream :
Подробнее про использование потоков ввода-вывода можно прочитать в руководстве по Java: https://metanit.com/java/tutorial/6.3.php
В итоге после нажатия кнопки сохранения весь текст будет сохранен в файле /data/data/название_пакета/files/content.txt
Где физически находится созданный файл? Чтобы увидеть его на подключенном устройстве перейдем в Android Stud в меню к пункту View -> Tool Windows -> Device File Explorer
После этого откроектся окно Device File Explorer для просмотра файловой системы устройства. И в папке data/data/[название_пакета_приложения]/files мы сможем найти сохраненный файл.
Источник
Как изменить место сохранения файлов на android
Операционная система Android славится своей простотой и удобством. И это на самом деле так.Ведь в сравнении, например, с полностью закрытой системой iOS на Android все понятно. Интерфейс освоит любой, даже ребенок. К тому же есть возможность изменить абсолютно все: цветовую тему, фон, иконки, анимации, экран блокировки и т.д. Казалось бы, проблем возникнуть не должно, однако и здесь не обходится без сложностей.
Video: КАК ИЗМЕНИТЬ МЕСТО УСТАНОВКИ ПРИЛОЖЕНИЙ ПО УМОЛЧАНИЮ НА Android?
Так, очень многие владельцы устройств на Android озадачены проблемой – как изменить место сохранения файлов?
Чтобы изменить место сохранения файлов на Android, сначала нужно разобраться, о каких именно файлах идет речь. Музыка, фото, видео, загрузки или что-то еще.
Фотографии, сделанные в приложении «Камера» стандартно сохраняются в папке «DCIM», которую можно найти в файловом менеджере либо в папке «Галерея».
В настройках любого редактора установлен путь «По умолчанию». Но при желании его можно изменить внутри самого редактора.
Плееры также имеют в настройках необходимый пункт.
Файлы, переданные по каналу Bluetooth, по умолчанию сохраняются в папку «Bluetooth», находящуюся в папке «Downloads».
Музыка, картинки, игры, файлы, закачанные из интернета через браузер, автоматически сохраняются в папке «Downloads». Однако в настройках браузера можно изменить по своему желанию место сохранения файлов на Android.
В общем, понять, куда сохраняются файлы на Android, большой сложности не вызывает. Здесь все аналогично Windows. Одни приложения позволяют пользователю выбирать путь сохранения файлов, другие – нет. Многие приложения для этого используют стандартные папки (Audio, Video, Download).
Если проблема изменения места сохранения файлов на Android все-таки встала достаточно остро, то рекомендуется установить ES Проводник.
ES Проводник – это один из популярнейших файловых менеджеров для Android. C его помощью можно легко просматривать папки, проводить различные операции с файлами, просматривать фото и видео, слушать музыку и т.д. Функционал этого небольшого приложения огромен.
Плюсом данной программы можно назвать легкий доступ к многим приложениям (CoolReader, Одноклассники, VK, Переводчик и т.д.).
Еще одним достоинством ES Проводник является быстрая передача файлов с компьютера на смартфон и наоборот.
Ну и главное – программа позволяет изменить место сохранения файлов на Android для большинства программ.
Источник
Указать путь до файла
Какой указать путь до файла /res/xml/filename.xml?
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); .
Указать путь к файлу (Android studio)
Здравствуйте, вот уже 4 дня не могу во всем интернете найти никакой подсказки, мне нужно чтобы.
Delphi XE8, какой указать путь к ndk?
Имеется Delphi xe8 и для создания мобильных приложений нужно скачать Sdk,ndk,Java. Sk и Java пути я.
DarkVortex, да, это я понимаю.
Я переживаю все ли программы возвращают при этом путь к файлу?
Например делал выбор картинки, пользователь выбирал галерею, картинка в программу загружалась но путь к этой картинке возвращался такого вида
и посему скопировать эту картинку я не могу через
File file = new File (path);
так как путь должен быть абсолютный. В этой теме рассказывал.
Вот и тут думаю нет ли такого попадоса что вернется на самом деле не путь к файлу а какой нибудь кастомный и я файл взять не смогу?
Как указать стандартным галере или фото путь поиска картинок
Всем доброго. Вот такая загвоздка, в приложении нужно показать картинку которая находится где то.
Как правильно указать путь к папке на телефоне, куда нужно сохранить файл с FTP-сервера?
Скачиваю файл с FTP по нажатию кнопки в папку на телефоне. Как правильно указать эту папку.
Указать путь сохранения файла
Есть функция хеширования. Как мне указать путь для со public string GetMD5(string text) <.
Как правильно указать путь до файла
вот программа program file_1; var fil:text; str:string; begin Assign (fil, ‘work.txt’);//.
Правильно указать путь файла для записи
Всем привет. Нужно записать в текстовый файл символ. Срабатывает всё, кроме пути: создающийся файл.
Как правильно указать путь до архивированного файла?
Помогите пожалуйста разобраться с этим! Как правильно указать путь до архивировнного файла? И как.
Источник