Урок 2: Введение в XML, что такое View, теги и атрибуты
Итак мы планомерно вливаемся в разработку Android-приложений. Начинаем подготовку к верстке своего первого экрана для нашего учебного приложения для изучения английских слов. У меня в Figma есть дизайн-макет с несколькими экранами, так что представим, что это наш заказ на разработку или задачка с нового места работы. Только делать его будем не торопясь, соблюдая на начальных уроках […]
Читать полностью
Урок 7: findViewById, ViewBinding, backing property
После верстки мы изучили немного фундаментала по Android проекту, настало время научиться настраивать взаимодействие кода файла MainActivity.kt с макетом экрана. Атрибут id Окей. У нас есть некоторые элементы в макете, которые должны обрабатывать различные действия. Но как с ними взаимодействовать? Для этого на View вешается дополнительный атрибут — id, который мы уже использовали ранее. Разберем […]
Читать полностью
Урок 10: AndroidManifest.xml (андройд манифест)
Введение Программирование и разработка приложений это не только написание кода, но и конфигурация приложения. Сейчас мы познакомимся с содержимым важнейшего файла проекта – AndroidManifest. Я расскажу про всего его теги и конфиги, а также покажу как выглядит финальный манифест после сборки приложения. В нем тоже много чего интересного. Отображение иерархии проектов Для начала обратимся к […]
Читать полностью
Какие есть недостатки паттерна MVP
Вот несколько минусов MVP в Android-разработке Круговая зависимость View и Presenter. У View есть ссылка на Presenter, а у Presenter есть ссылка на View. Обычно это не так плохо, но стоит вспомнить, что в Андроид View — это как правило активити или фрагмент, у которых есть жизненный цикл. Поэтому необходимо создавать новый презентер при создании […]
Читать полностью
Особенности отличия Bundle от Intent
Bundle с английского означает пакет/сверток. Этот класс используется для передачи данных между базовыми компонентами, например между активити или между фрагментами. Так же он используется для сохранения состояния активити при изменениях конфигурации. В этом классе реализованы методы get() и put() для всех примитивов, строк, а также для Parcelable и Serializable. Intent же означает намерение. Этот класс […]
Читать полностью
Сохранение состояния при портретной ориентации в Android
Следует сохранять состояние, так как Configuration Change может произойти не только при изменении ориентации экрана. Изменение ориентации экрана это только частный случай изменения конфигурации. Изменение языка системы например тоже считается изменением конфигурации. Да и сохранять состояние может быть нужно не только при Configuration Change. Например пользователь может отвлечься на пришедшее сообщение, перейти в другое приложение […]
Читать полностью
Расскажите про Fragment
Фрагменты можно представить как легковесную активити. Они представляют собой часть UI, которую можно переиспользовать много раз. Как и у активити, у фрагмента есть свой lifecycle, layout и он может обрабатывать действия пользователя на своем layout. С помощью фрагментов можно внести модульность в свое приложение, используя различные сочетания фрагментов в различных активити. Стоит учесть, что стандартный […]
Читать полностью
Урок 12: Компоненты Android: Activity, Service, Content Provider, Broadcast Receiver
Понятие — основные компоненты Здравствуйте. Поговорим про основные компоненты андройд. У начинающих разработчиков возникнет резонный вопрос: “А зачем мне эта информация и что это вообще за компоненты”. Во-первых эти самые компоненты являются основой любого приложения. Без их понимания вы будете двигаться в разработке приложения, как слепые котята – на ощупь. А некоторые функции приложения и вовсе […]
Читать полностью
Урок 13: Создание Activity, навигация через Intent, Интенты, Extras, putExtra()
Обзор статьи В этой статье вы научитесь вручную создавать новый компонент Activity в своем проекте, а потом сделаем первые шаги в сторону изучения навигации между экранами. Мы будем не только переключаться между двумя Activity, но и передавать примитивные типы данных, такие как строки или числа. А самое вкусное – передачу сложных типов данных, то есть объектов, […]
Читать полностью
Урок 14: Интерфейс Serializable – передача данных между Activity
Введение На предыдущем уроке мы узнали что такое объект Intent, как с помощью него осуществлять открытие нового Activity и передавать простые типы данных. Это база, так что если не смотрели, обязательно начните с предыдущего видео. Продолжаем тему и переходим к самому интересному – передаче объектов между Activity. Рассматривать будем прямые способы передачи данных с помощью […]
Читать полностью
Урок 15: Интерфейс Parcelable – 2 способа сериализации объектов
Интерфейс Parcelable в Kotlin / Android Parcelable, с другой стороны, является более эффективным инструментом, который разработан специально для Android. Он работает, создавая объект Parcelable, который может быть сохранен или передан в виде аргумента между компонентами приложения, используя методы writeParcelable и readParcelable. Это позволяет сериализовать объекты быстрее и более эффективно, чем Serializable, поскольку Parcelable не создает […]
Читать полностью