Вызов диалога выбора файла и загрузка содержимого в kotlin

Пишу небольшое приложение в Android Studio, как и многие столкнулся с типовой задачей — диалог выбора файла и его загрузка.

Ясно, что устройство уже имеет какой то файловый менеджер, и писать свой диалог — хоть и интересно, но является и тратой времени, а в будущем еще и доп. компонентом, требующим поддержки.

Используем Activity Result APIs для вызова существующего файл менеджера, и допустим, что в нашем activity (MainActivity) есть какая то кнопка запускающая этот диалог.

Тогда код может выглядеть следующим образом:

В начале вы создаёте и регистрируете т.н. контракт, а при нажатии кнопки вызываете его с нужным intent фильтром.

В обработчике результата я открываю поток на чтение, используя переданный URI. Всё содержимое файла я читаю в переменную content.

Мало букафф? Читайте есчо !

Перебор изображений R.drawable

Ноябрь 21, 2022 г.

Рассмотрим как организовать перебор коллекции ресурсов в Kotlin на примере R.drawable. Типичная задача заключается в том, чтобы отфильтровать элементы коллекции по имени и вернуть список целочисленных идентификаторов, соответствующих вашим критериям. ...

Читать

Сохранение файла в Downloads Android

Ноябрь 5, 2022 г.

Задача - создать файл в каталоге Downloads из вашего приложения на платформе Android. Пусть это будет какой то текстовый файл, который наше приложение умеет генерировать. Формат файла - XML. Наша задача решается по-разному для андроидов 10+ ...

Читать

Анимированный градиент в ActionBar

Октябрь 23, 2022 г.

Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin. Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable ...

Читать

Как в Kotlin отключить upper case у компонента Button

Март 20, 2023 г.

Компонент Button использует material дизайн и имеет некоторые предопределенные стили, которые иногда хочется изменить. Мне чаще всего требуется убрать UPPERCASE с текста кнопки. На старте шаблон компонента выглядит вот так: [crayon-699132c3c25d5017989344/] ...

Читать
 

Комментарии к «Вызов диалога выбора файла и загрузка содержимого в kotlin»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: