android

Урок 1: Android Studio – установка, настройка эмулятора

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Ведение в Android Установка Android Studio Создание проекта Переключение на темную тему Установка эмулятора и запуск Обзор структуры проекта Подключение физического устройства Ведение в Android Это начало…

Читать полностьюУрок 1: Android Studio – установка, настройка эмулятора

Урок 2: Введение в XML, что такое View, теги и атрибуты

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Что такое файл MainActivity.kt? onCreate() setContentView() Файл XML разметки activity_main.xml Разбор имеющихся тегов activity_main.xml xmlns layout_width и layout_height dp – density-independent pixel TextView внутри ConstraintLayout Документация внутри…

Читать полностьюУрок 2: Введение в XML, что такое View, теги и атрибуты

Урок 3: Контейнеры — FrameLayout, LinarLayout. Отступы

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Вложенность элементов в XML Что такое контейнер? Основные лейауты FrameLayout Отступы Разница между gravity и layout_gravity LinearLayout Вложенность элементов в XML Итак, как вы уже поняли, XML…

Читать полностьюУрок 3: Контейнеры — FrameLayout, LinarLayout. Отступы

Урок 4: Верстаем экран по макету из Figma, ShapeDrawable

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Что такое Figma (Фигма)? Верстка иконки закрытия Экспорт из Figma Импорт векторной иконки в проект Верстка изучаемого слова Верстка вариантов ответа Вложенные лейауты Стилизация (позиционирование, размер текста…

Читать полностьюУрок 4: Верстаем экран по макету из Figma, ShapeDrawable

Урок 5: Ресурсы (res), квалификаторы, локализация, шрифты

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Типы ресурсов в Android Папка res Импорт шрифтов Создание директории font Добавление шрифтов элементам разметки Строковые ресурсы Как создать строковый ресурс (string resource) Квалификаторы на примере локализации…

Читать полностьюУрок 5: Ресурсы (res), квалификаторы, локализация, шрифты

Урок 6: Cтили, темы в приложении и их кастомизация 

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Собственные стили в Android Создание кастомного стиля Создание и применение стиля Переопределение родительского стиля Типы наследования стиля Темы и кастомизация Кастомизация StatusBar (не путать с ActionBar) Собственные…

Читать полностьюУрок 6: Cтили, темы в приложении и их кастомизация 

Урок 7: findViewById, ViewBinding, backing property

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Атрибут id Стиль названия id’шников Получение id элемента View в Activity Способы получения id из XML разметки findViewById ViewBinding Активация ViewBinding в Android проекте Инициализация ViewBinding в…

Читать полностьюУрок 7: findViewById, ViewBinding, backing property

Урок 8: setOnClickListener() — обработка нажатий, property access

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Взаимодействие с элементами экрана Обработка правильного ответа Property access syntax Обработка неправильного ответа Обработка нейтрального состояния, apply Взаимодействие с элементами экрана Мы научились обращаться к элементам экрана,…

Читать полностьюУрок 8: setOnClickListener() — обработка нажатий, property access

Урок 10: AndroidManifest.xml (андройд манифест)

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Введение Отображение иерархии проектов AndroidManifest.xml Тег (пермишены) Merged Manifest Введение Программирование и разработка приложений это не только написание кода, но и конфигурация приложения. Сейчас мы познакомимся с…

Читать полностьюУрок 10: AndroidManifest.xml (андройд манифест)

Урок 11: Gradle — система сборки! ЧТО ТЫ ТАКОЕ — обзор файлов

Смотрите видеоурок бесплатно на удобной для вас платформе: Смотреть в Смотреть на Оглавление Введение Что такое gradle в Android проекте Конфигурация gradle Каталог .gradle Разница между build.gradle и build.gradle.kts. settings.gradle.kts gradle.properties gradlew build.gradle.kts Конфигурационная папка .idea Введение В этой статье…

Читать полностьюУрок 11: Gradle — система сборки! ЧТО ТЫ ТАКОЕ — обзор файлов

Атрибут weight и его влияние на производительность

При использовании обычного LinearLayout каждый из on… методов View вызывается его дочерних View только по одному разу, что делает его довольно быстрым. Если же использовать атрибут weight, то метод onMeasure() будет вызван по 2 раза на каждом View. Это делает…

Читать полностьюАтрибут weight и его влияние на производительность

Для чего нужен атрибут weight в LinearLayout?

Это атрибут, который указывает то, какую часть экрана займет View по сравнению с другими View, у которых тоже указан данный атрибут. При этом в зависимости от атрибута orientation, данный атрибут будет влиять на разные параметры View. Если у LinearLayout стоит…

Читать полностьюДля чего нужен атрибут weight в LinearLayout?

Назовите отличия CoordinatorLayout от FrameLayout

CoordinatorLayout можно представить как FrameLayout на максималках. Это улучшенная версия FrameLayout. CoordinatorLayout рассчитан на использование в двух основных случаях В качестве top-level декора приложения или же chrome layout Когда необходимо настроить взаимодействие между layout и его дочерними view либо между…

Читать полностьюНазовите отличия CoordinatorLayout от FrameLayout

Какие вы знаете layout в Android?

Из основных лэйаутов (прямых наследников ViewGroup) можно выделить следующие FrameLayout. Отрисовывает элементы друг поверх друга. LinearLayout Отрисовывает элементы друг за другом. У данного layout есть атрибут orientation, который задает направление, в котором будут отрисовываться дочерние View. Если данный атрибут имеет…

Читать полностьюКакие вы знаете layout в Android?

Расскажите про ViewGroup и View и в чем их различие?

ViewGroup – это класс, который наследуется от View. Он расширяет View и позволяет хранить в себе другие View, по сути это как контейнер. Все layout’ы являются ViewGroup. Так же этот класс будет базовым и для layout parameters. ViewGroup предоставляет невидимый…

Читать полностьюРасскажите про ViewGroup и View и в чем их различие?

Расскажите про Database View в Room

Начиная с версии 2.1.0 Room поддерживает SQLite database views. Database Views позволяют инкапсулировать запрос в БД внутри класса. Такие классы представляют из себя простенькие объекты с данными. Чтобы создать такой класс необходимо добавить аннотацию @DatabaseView к классу, а в качестве…

Читать полностьюРасскажите про Database View в Room

Можно ли ViewModel заменить onSaveInstanceState()?

Не совсем. Вернее не всегда вьюмоделью можно заменить onSaveInstanceState(). Рассмотри такой случай, когда в нашей активити есть ViewModel, которая сохраняет наши данные. Так же эти же данные сохраняются в onSaveInstanceState(). Всего есть три варианта как будет создаваться активити: Активити запускается…

Читать полностьюМожно ли ViewModel заменить onSaveInstanceState()?

Объединение нескольких LiveData в Android

Для того, чтобы объединить несколько LiveData необходимо использовать класс MediatorLiveData. Данный класс умеет подписываться на обновления других LiveData. Для этого необходимо вызвать метод MediatorLiveData.addSource(). Он принимает в себя два аргумента: 1) Сама LiveData, на которую нужно подписаться 2) Observer, который…

Читать полностьюОбъединение нескольких LiveData в Android

Особенности при подписке на LiveData во Fragment

Метод observe() класса LiveData принимает в качестве аргумента объект класса LifecycleOwner. Данный объект будет указывать, кто является владельцем данного Lifecycle, это необходимо чтобы колбек LifeData.observe() не триггерился когда LifecycleOwner еще не в активном состоянии (либо уже был вызван onDestory(), либо…

Читать полностьюОсобенности при подписке на LiveData во Fragment

Паттерн MVVM

MVVM, — шаблон проектирования архитектуры приложений. Он упрощает разделение разработки графического интерфейса (view) от разработки бизнесс-логики (model). ViewModel в данном шаблоне проектирования является промежуточным звеном, которое помогает преобразовывать данные таким образом, чтобы их было легко представлять и ими было легко…

Читать полностьюПаттерн MVVM