Архив автора: Владимир

В Android O изменился файл хранения паролей от от wi-fi сетей.

В предыдущих версиях Android файл хранения паролей находился по адресу data/misc/wifi/wpa_supplicant.conf Правильнее будет сказать, что это файл с настройками  конфигурации  фоновой службы аутентификации wpa_supplicant . Более подробно об этом рассказано тут. В новой версии Android 8.0  Oreo старый файл есть, но содержит он вот что : Не знаю как на остальных устройствах, но на Nexus… Читать далее »

Реализуем работу Glide средствами Android

Библиотеки в Android крайне полезны, поскольку выполняют внутри себя различные трудоёмкие задачи, освобождая разработчика от их реализации в своём приложении. Одной из таких библиотек является Glide. Glide — это аналог другой известной библиотеки для изображений, Picasso, и на данный момент представляет собой одну из самых популярных библиотек для работы с изображениями, поскольку реализует асинхронную загрузку изображений,… Читать далее »

Хранение изображений с помощью LruCache

При разработке приложений разработчик может столкнуться с такой проблемой, когда ему нужно очень часто работать с изображениями. Система каждый раз должна их загружать, обрабатывать, затем, после окончания использования, удалять, либо удалять тогда, когда это не нужно, с помощью сборщика мусора. Чтобы не выполнять все эти операции по кругу достаточно будет кэшировать готовые изображения в памяти… Читать далее »

Использование паттерна MVP в Android

При разработке сложных приложений можно столкнуться с проблемами, которые, вероятно, возникали раньше и уже имеют большое количество решений. Такие решения называются паттернами (шаблонами). Как правило, говорят о паттернах дизайна и паттернах архитектуры. Они упрощают разработку приложений, поэтому целесообразно их использовать, если такая возможность есть. Дизайн проекта должен быть приоритетной задачей с самого начала разработки. Одна… Читать далее »

Отмена задачи в AsyncTask

Пользователь Alexander в комментариях к нашей предыдущей статье заметил, что реализация загрузки иконок приложений через HandlerThread хоть и рабочая, однако слишком громоздкая, аналогичного результата можно было бы добиться изменением AsyncTask в предыдущем варианте приложения. Основная проблема здесь кроется в асинхронности. Главное достоинство асинхронности заключается в том, что фоновый и главный потоки работают независимо друг от друга, что… Читать далее »

Делаем правильную множественную загрузку в Android

В одном из наших приложений была поставлена задача загружать иконки приложений, которые имеются на устройстве. Поскольку иконок, как и приложений, может быть очень много, для повышения быстродействия эту операцию следовало разделить на параллельные процессы. Затем загруженные записи с приложениями и иконками выводятся пользователям с помощью RecyclerView. Для выполнения этих задач используется класс AsyncTask, принимающий в… Читать далее »

Делимся файлами в Android с помощью FileProvider

Несколько недель назад мне было поручено открыть внутренний PDF-файл в любом приложении для чтения PDF на Android устройстве. Я думал, что это будет просто, но все оказалось сложнее. Документация Google по FileProvider оказалась запутанной и не имела конкретных примеров. Тем не менее, я знал, что должен использовать ContentProvider для решения этой проблемы. Как один из… Читать далее »

Создание подписи приложения с помощью Google Play App Signing

Поскольку ключ подписи используется для проверки того, что именно вы являетесь разработчиком приложения, и для обеспечения безопасных обновлений для ваших пользователей, обеспечение безопасности ключа очень важно как для вас, так и для пользователей. Существуют различные способы подписания своих приложений, один из таких мы рассмотрели в предыдущей статье. Недавно Google добавил новую возможность хранить ключи: в… Читать далее »

Использование Spinner в Android

Компонент Spinner предоставляет быстрый способ выбора значения из предложенного списка с вариантами. Поскольку список выводится только при нажатии на спиннер, это экономит место на экране вашего устройства. В состоянии по умолчанию спиннер отображает текущее значение. Если же коснуться компонента, то появится выпадающее меню со всеми другими доступными значениями, из которых пользователь может выбрать нужное ему.… Читать далее »

Как подписать APK с помощью Gradle

  Android Studio предоставляет широкие возможности как для разработки приложений, так и для повышения автоматизации и комфортности при программировании. Если вы используете систему сборки Gradle для создания своих приложений, то вы можете также настроить несколько параметров для создания подписей к вашим приложениям. Скорее всего, вам не хочется публиковать свои ключи для подписи, пароли и имена… Читать далее »