Блог Android → Полезные материалы по Android | OTUS
⚡Подписка от OTUS!
Собери свой пул курсов на выгодных условиях. Подробности в чате →
Написать в чат

Курсы

Программирование
Unity Game Developer. Basic
-15%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Разработчик C#
-8%
Алгоритмы и структуры данных
-8%
Backend-разработчик на PHP
-8%
JavaScript Developer. Professional
-9%
iOS Developer. Professional
-8%
Базы данных
-12%
C# ASP.NET Core разработчик
-6%
Python Developer. Basic
-10%
Java Developer. Professional Web-разработчик на Python Android Developer. Basic PostgreSQL Software Architect Reverse-Engineering. Professional Kotlin Backend Developer React.js Developer VOIP инженер Нереляционные базы данных Scala-разработчик Супер-практикум по использованию и настройке GIT IoT-разработчик JavaScript Developer. Basic Advanced Fullstack JavaScript developer Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Супер-интенсив "Версионирование и командная работа с помощью Git"
-30%
Administrator Linux. Professional
-5%
Супер-интенсив «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Administrator Linux. Advanced
-8%
Infrastructure as a code in Ansible
-12%
Network engineer
-4%
MS SQL Server Developer
-8%
Cloud Solution Architecture Highload Architect Разработчик голосовых ассистентов и чат-ботов Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Архитектор сетей Супер-интенсив «IaC Ansible»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Создаем делегат для генерируемой картинки

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

Полупрозрачные активности и жизненный цикл ViewModels

ViewModels (модели представления)

Жизненный цикл модели представления относительно прост — у нее всего лишь один метод обратного вызова, называемый onCleared(). Однако когда мы говорим о ViewModels, нужно понимать различие между фрагментом и активностью. Рамки их действия различны:

Чистый код в Android

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

Жизненный цикл фрагментов Андроид-приложений

Мы уже писали про жизненный цикл одной активности в Андроид-приложениях, а также про навигацию и стек переходов. В этот раз обсудим поведение фрагментов, прикреплённых к активности.

Архитектура Flutter: хардкор, ваниль и «ящички»

В те времена, когда только появился Android, с архитектурой сильно не заморачивались. В большинстве случаев приложения писали без глубокой архитектурной мысли: вот activity, а там пишем код бизнес-логики. Потом начали внедрять MVP-архитектуру, ещё позже — MVVM-модель и т. п.

Создаём простое VR-приложение на Unity

Виртуальная реальность — захватывающее направление в разработке. Это и новые форматы сторителлинга и действенные способы передачи ощущений и эмоций. Ещё не так давно для разработки таких приложений использовалось дорогое оборудование. Сегодня вы можете создать видео-приложение с обзором в 360° для Android всего за 10 минут. И даже навыки программирования не потребуются.

Чем Dart лучше Kotlin?

Нередко Android-разработчики спрашивают, почему во фреймворке Flutter используют язык Dart, а не Kotlin. И это при том, что Kotlin, по мнению некоторых, стал глотком свежего воздуха после Java. А ведь ещё не так давно разработчики прочили языку программирования Dart место на кладбище проектов Google, а тут вдруг оказалось, что он находится в списке наиболее быстрорастущих языков по версии GitHub.

Подкапотная магия Flutter

Flutter — продукт Google, уже успевший завоевать неплохую репутацию в кроссплатформенной разработке. Принцип работы фреймворка заключается в создании приложений, имеющих единую кодовую базу и для мобильных платформ, и для десктопа, и для веба. Приложения, созданные разработчиком, характеризуются плавностью и разнообразием анимации, а также рендерингом экрана с кадровой частотой до 120 fps. А программисту не требуется прилагать особых усилий по оптимизации кода. Но благодаря чему достигается такой вау-эффект?