background preloader

Android

Facebook Twitter

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

Поворот экрана во время выполнения долговременной операции

Во время долговременной операции обычно пользователю показывают окно «Пожалуйста, подождите...» или что то в этом роде. Платформа Android, да и наверное многие другие платформы не позволяют выполнять долговременные операции в UI потоке. Выполняя долговременную операцию в UI потоке вы просто напросто повесите программу. Android предлагает для решения такого рода задач AsyncTask. Проблема Казалось бы ничего сложного, создаем AsyncTask передаем созданному AsyncTask указатель на текущую Activity и все готово, фоновый процесс работает, обновляет UI, все счастливы.

Все прекрасно работает до тех пор, пока не сменится ориентация экрана (Книжная → Альбомная, Албомная → Книжная) или приложение не будет отправлено в фон. Почему происходит краш приложения Решения. Новая архитектура Android-приложений — пробуем на практике. Всем привет.

Новая архитектура Android-приложений — пробуем на практике

На прошедшем Google I/O нам наконец представили официальное видение компании Google на архитектуру Android-приложений, а также библиотеки для его реализации. Не прошло и десяти лет. Конечно мне сразу захотелось попробовать, что же там предлагается. Осторожно: библиотеки находятся в альфа-версии, следовательно мы можем ожидать ломающих совместимость изменений.

Lifecycle Основная идея новой архитектуры — максимальный вынос логики из активити и фрагментов. Теперь это не так. Public interface LifecycleOwner { Lifecycle getLifecycle(); } Поскольку пакет еще в альфа-версии и его API нельзя смешивать со стабильным, были добавлены классы LifecycleActivity и LifecycleFragment. Lifecycle содержит в себе актуальное состояние жизненного цикла компонента и позволяет LifecycleObserver подписываться на события переходов по жизненному циклу.

Архитектура

Android и архитектура. Операционная система Android предоставляет мощный фундамент для разработки приложений, которые отлично работают на множестве разнообразных устройств и форм-факторов.

Android и архитектура

Теперь, как говорится, мы услышали жалобы разработчиков: трудно создавать "безглючные" приложения в условиях сложных циклов жизни объектов и отсутствия рекомендованной архитектуры приложения. Нам, создателям Android, надо сделать простым и веселым написание устойчивых приложений, чтобы перевести усилия разработчиков в те области, в которых можно создавать инновации. Сегодня мы аннонсируем путеводитель по архитектуре Android-приложений и превью библиотек Architecture Components. Вместо того чтобы изобретать колесо, мы признаем работу, сделанную авторами популярных сторонних Android-библиотек (прим. пер.: WAT?). Советы а не предписания Понятно, что существует много способов создания Android-приложений. Строительные блоки Компоненты управления жизненным циклом Lifecycle, LifecycleOwner и LifecycleObserver LiveData ViewModel.

Как я перешёл из системного администрирования в Android-разработку. Несколько лет назад, я, как и другие начинающие Android-разработчики, решил найти работу в этой области.

Как я перешёл из системного администрирования в Android-разработку

Если вы начинающий специалист, и не знаете, с чего начать изучение Android, или если вы уже обладаете определёнными знаниями в этой теме и планируете в скором времени устраиваться на работу, то этот материал для вас. По задумке, к данной статье вы будете возвращаться по мере накопления опыта: смотреть на каком этапе в данный момент находитесь и что изучать дальше. С чего всё началось В сфере системного администрирования я успешно проработал более двух лет. Изучив рынок я понял, что мне необходимо идти дальше и что-то менять. Быть или не быть? Выбор Android нужно хорошо обдумать, так как он шагает семимильными шагами.

Реализация одновременного скролинга по всем направлениям. Введение Доброго времени суток!

Реализация одновременного скролинга по всем направлениям

Сразу скажу, что программировать я начал недавно и большого опыта у меня нет, поэтому не судите строго, тем более, что материалов на данную тему очень мало. В статье я хочу поделиться своим решением проблемы, которая у меня возникла при создании пошаговой 2D стратегии. Для стратегий привычное дело наличие игрового поля.

Но как быть, если у пользователя маленький телефон и всё игровое поле не помещается на экране? Разбираемся Для начала нужно подумать, что у нас уже есть, а не пытаться сразу изобретать что-то своё. Класс вертикальной прокрутки. Повороты экрана в Android без боли. Предисловие Истинное понимание проблем каждой платформы приходит после того, как попробуешь писать под другую платформу / на другом языке.

Повороты экрана в Android без боли

И вот как раз после того, как я познакомился с разработкой под iOS, я задумался над тем, насколько ужасна реализация поворотов экрана в Android. С того момента я думал над решением данной проблемы. Попутно я начал использовать реактивное программирование везде, где только можно и уже даже не представляю как писать приложения по-другому. И вот я узнал про последнюю недостающую деталь — Data Binding. Когда начались проблемы? По настоящему остро я почувствовал проблему, когда в одном проекте у меня получился экран на 1500 строк xml, по дизайну и ТЗ там было целая куча различных полей, которые становились видимыми при разных условиях. Возможное решение Сразу оговорюсь, я против фанатичного следования заветам какого-либо подхода, я пытаюсь делать универсальные и надежные решения, несмотря на то, как это смотрится с точки зрения какого-либо паттерна.

Проблемы, возникающие при разработке андроид приложений. Введение Доброго времени суток.В этой статье вы узнаете о том, какие проблемы могут возникнуть при разработке android приложений.

Проблемы, возникающие при разработке андроид приложений

На написание этой статьи меня побудили комментарии из прошлой статьи, кстати вот она:Моя первая статья Спасибо за советы! Ну пора начинать… Проблема 1 Разрабатывая свои приложения мне хотелось сделать их как можно удобнее и красивее.Этому мешали стандартные диалоговые окна. Решение В манифесте нужно выбрать собственную тему, за это отвечает атрибут.

Темы

Библиотеки. SQLite. Material Design. Продвижение. Анимация. Data Binding. Location, определение местоположения. _Неразложенное. UI. Сайты-сервисы. Источники. Разное. Новости. App-in purchase. Инструменты. Progressive Web Apps.