Полный список
— работаем с файлами
Работа с файлами в 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’);//.
Всем привет. Нужно записать в текстовый файл символ. Срабатывает всё, кроме пути: создающийся файл.
Как правильно указать путь до архивированного файла?
Помогите пожалуйста разобраться с этим! Как правильно указать путь до архивировнного файла? И как.
Источник