fbpx
SOLID в Android. Single Responsibility

SOLID в Android. Single Responsibility

Это первая часть из серии статей, состоящей из пяти частей, посвященных принципам SOLID. Чтобы не пропустить следующие статьи на тему Android и мобильной разработки подписывайтесь на Telegram-канал SOLID — это аббревиатура, помогающая определить пять основных принципов объектно-ориентированного проектирования: Single Responsibility – Принцип единой ответственности (этот пост) Open-Closed Principle – Принцип открытости-закрытости Liskov Substitution Principle – Принцип…

Отличия Sequence API vs Collection

Отличия Sequence API vs Collection

Вероятно, вы когда-нибудь сталкивались с Sequence API в Kotlin. Возможно, вы слышали, что они могут обрабатывать данные более эффективно, чем обычные коллекции. Но задумывались ли вы когда-нибудь, что именно они делают, как достигают эффективности или когда их следует использовать? В этой статье мы рассмотрим примеры, которые помогут нам визуализировать разницу между Sequence API и обычными…

Как подготовиться к собеседованию по System Design мобильному разработчику

Как подготовиться к собеседованию по System Design мобильному разработчику

В последнее время рынок труда в ИТ-индустрии переходит от рынка соискателя к рынку работодателя и компании все чаще заинтересованы в отборе максимально опытного специалиста, удовлетворяющего всем требованиям. Скорее всего вы слышали о недавних сокращениях в BigTech-компаниях, специалисты из которых наводнили рынок и теперь рубятся за позиции в компаниях поменьше. Однако стандартные наборы вопросов уже давно…

Шаблонный метод на примере формирования списков в Android

Шаблонный метод на примере формирования списков в Android

В этой статье мы рассмотрим один из паттернов проектирования, который существенно поможет вам сделать код читаемым, облегчая повторное использование кода. В этом нам поможет поведенческий паттерн, который называется Шаблонный метод или Template. Давайте сразу рассмотрим пример из жизни разработчика. Нам необходимо создать список, который будет отображать информацию о разном медиаконтенте. Например, в одном списке у…

Используем join в SQLite-запросах Room для android

Используем join в SQLite-запросах Room для android

Недавно вышла 2.4.0-alpha04 -версия Room, которая упрощают написание методов DAO и позволяет возвращать данные запросов в формате Map<key,value>. В этом посте мы вспомним про форматы JOIN в SQLite и напишем простой пример, демонстрирующий новую фичу в Room. Типы Join в SQLite Для начала, давайте вспомним, что такое join. Join – это возможность объединения двух и более таблиц…

Реализация full-text поиска данных в android-приложениях через AppSearch и RxJava

Реализация full-text поиска данных в android-приложениях через AppSearch и RxJava

Совсем недавно Google анонсировал библиотеку для локального поиска документов AppSearch. Библиотека пока находится на стадии alpha-версии, но тем не менее уже можно применить её и рассмотреть ряд возможностей. В этой статье мы разработаем небольшое приложение для локального поиска разного рода документов и отобразим их пользователю для демонстрации работы AppSearch. Введение AppSearch – это высокопроизводительная библиотека…

Kotlin Android Extensions deprecated. Что делать?Инструкция по миграции

Kotlin Android Extensions deprecated. Что делать?Инструкция по миграции

Возможно, вы уже слышали, что Kotlin Android Extensions — плагин для Kotlin теперь deprecated. kotlinx.android.synthetic is no longer a recommended practice. Removing in favour of explicit findViewById Безусловно, это было очень удобно, особенно если у вас проект полностью на Kotlin. Однако, мир меняется и теперь нужно искать альтернативы. В этой статье мы кратко рассмотрим, что такое…

Вопросы RxJava на собеседовании

Вопросы RxJava на собеседовании

Несмотря на то, что Kotlin Coroutines и Flow потихоньку перетягивают одеяло, всё-таки на многих больших проектах всё также используется RxJava. Если у вас сложное приложение, то задачи выходят за рамки обычного сценария: сходить в сеть и отобразить данные. И тут в дело вступают различные операторы RxJava — как раз то, почему Rx ещё долго не…