Android Mobile | YeaHub
487 subscribers
285 photos
21 videos
471 links
Теория, подготовка к интервью и курсы для Android разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
👍 Autofill в Compose 1.8.0

Несмотря на то что поддержка автозаполнения вышла еще 2021 году, API докрутили только сейчас. Поддержка самой кнопки Autofill теперь идет из коробки, а новое API позволяет спарсить значение даже внутрь Switch:
var firstLetterE by remember { mutableStateOf(false) }
Switch(
modifier = Modifier.semantics {
contentType = ContentType.EmailAddress

// We need to declare a data type explicitly since this isn't a TextField
contentDataType = ContentDataType.Text

onAutofillText { text ->
firstLetterE = text.startsWith("E", ignoreCase = true)
true
}
},
checked = firstLetterE,
onCheckedChange = { firstLetterE = it },
)


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#Собес #docker
🤔 Поддерживает ли Docker IРV6?

Да, Docker поддерживает IPv6, но только на Linux-серверах. Чтобы включить поддержку IPvб, необходимо настроить Docker daemon, изменив параметр ipv6 в конфигурационном файле /etc/docker/daemon. json .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥺 Как-то мы упустили этот весь тренд с AI и вайбкодингом. Но вот и до Android Studio добралась возможность повайбкодить. Agent-mode в Gemini.

Не что-то прорывное, но раньше нужно было переключаться меж IDE или использовать Junie, а теперь решение из коробки!

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😬 Кейс, который стоит посмотреть, если вы тоже сейчас переделываете интерфейс

За последние полгода в «Лиге Ставок» перезапустили мобильное приложение — и не просто перекрасили кнопки, а копнули глубже. Что они поменяли — и почему это может быть полезно тем, кто сейчас сам ковыряется в интерфейсе:

🟠 Навигация: верхняя и нижняя панели адаптивные — скрываются при скролле, освобождая экран под контент. Фильтры переместили вниз — это удобнее, особенно для одной руки.

🟠 Приоритеты на экране: коэффициенты — в центре. Всё остальное — вторично. Простой ход, но UX сразу становится честнее.

🟠 Раздел «Мои пари»: раньше был набор экранов, теперь они собрали всё на одном. Плюс: добавили раздел с личной аналитикой по ставкам.

🟠 Никаких лишних «фишек»: меню прячется, интерфейс дышит, всё держится на логике, а не на визуальных «трендах».

Неплохая попытка решить реальные боли пользователей. Если у вас впереди редизайн — полезно посмотреть, как они перепридумали своё приложение.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😐 MVC vs MVP vs MVVM vs VIPER. Что лучше для мобильной разработки?

Точно так же, как у каждого дома есть прочный фундамент, у каждого программного проекта есть архитектура, на которой он построен, и у каждого проекта есть своя структура приложения.

Типы архитектурных шаблонов могут быть разными, но есть 4 наиболее часто используемых шаблона, которые весь IT-мир постоянно критикует, но в то же время продолжает использовать: MVC, MVP, MVVM и Viper.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #docker
🤔 Как использовать Docker для множества окружений приложений?

Для работы с несколькими окружениями в Docker используется Docker Compose. Создаются отдельные файлы docker-compose для каждой среды (например, docker-compose.dev.yml ), и на основе этих файлов запускаются соответствующие окружения с нужными настройками.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
👋 Gitnuro — кроссплатформенный Git-клиент без подписок и слежки. Этот полностью открытый клиент на Kotlin предлагает альтернативу тяжеловесным решениям вроде GitKraken или SourceTree.

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
👨‍💻 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.

Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать runApp и описать роуты.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #docker
🤔 Чем отличается логирование контейнера от логирования демона?

Логирование на уровне демона касается самого процесса работы Docker (системных сообщений и ошибок), в то время как логирование контейнера фокусируется на выводе, генерируемом внутри конкретных контейнеров. Логи демона содержат информацию о работе Docker, а логи контейнера - данные, связанные с выполнением приложений в контейнерах.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😎 Feeder — приватный RSS-ридер для Android без синхронизации. Этот open-source инструмент работает полностью локально на устройстве, не отправляя ваши подписки и историю чтения на сторонние серверы.

Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😱 Android Showcase 2.0 — проект для изучения современных подходов в Android-разработке. Этот open-source репозиторий демонстрирует полный цикл создания приложения: от модульной архитектуры и работы с API до тестирования и CI/CD.

Проект построен на Kotlin с использованием Jetpack Compose, Clean Architecture и популярных библиотек. Особое внимание уделено тестированию — доступны примеры unit-тестов, проверки кодстайла и даже архитектурных правил через Konsist.

Для разработчиков это отличная возможность изучить:
🟠 Организацию feature-модулей
🟠 Работу с Kotlin Flow и корутинами
🟠 Настройку GitHub Actions
🟠 Динамические темы
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
💅21🔥1
#полезное
😵‍💫 lets-plot — мультиплатформенная библиотека для построения графиков и диаграмм, написанная на Kotlin и Python

pip install lets-plot

Графики, созданные с помощью lets-plot можно встраивать в JVM (Swing, JavaFX) и Kotlin/JS-приложения.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #docker
🤔 Есть ли ограничения на количество контейнеров, которые можно запустить в Docker?

B Docker нет явного ограничения на количество контейнеров. Ограничения зависят от аппаратных ресурсов, таких как обьем памяти и количество процессорных ядер.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
👨‍💻 github-workflows-kt — инструмент на Kotlin для создания рабочих процессов GitHub Actions

github-workflows-kt поможет писать типобезопасный код на Kotlin для организации надежных рабочих процессов, планирования GitHub Actions и т.д.

Гитхаб
Доки

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Chucker — удобный инструмент для отладки сетевых запросов в Android-приложениях. Этот форк проекта Chuck работает как перехватчик OkHttp, фиксируя все HTTP-взаимодействия и предоставляя понятный интерфейс для их анализа.

Инструмент имеет встроенный UI с возможностью просмотра заголовков, тел запросов/ответов и даже изображений. Для релизных сборок есть no-op версия, которая полностью исключает его из конечного APK. Также проект поддерживает кастомизацию: можно скрывать чувствительные данные в заголовках, настраивать период хранения логов и добавлять декодеры для бинарных форматов.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Jooby — лаконичный веб-фреймворк для Java и Kotlin. Этот проект предлагает минималистичный подход к созданию API — без лишних абстракций, но с поддержкой популярных серверов вроде Jetty и Netty. Инструмент универсален: один и тот же код работает как в традиционных Java-приложениях, так и в Kotlin-проектах.

Фреймворк сохраняет совместимость с существующими решениями, позволяя подключать модули для GraphQL, WebSocket или авторизации. При этом стартовый шаблон умещается в несколько строк — достаточно вызвать runApp и описать роуты.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #docker
🤔 Что такое Docker Compose?

Docker Compose - это инструмент для управления многоконтейнерными приложениями. С помощью простого YAML-файла ( docker-compose. yml ) можно настроить и запустить несколько контейнеров, определяя их сервисы, сети и тома.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Как подружить LifecycleOwner и Decompose

Некоторые API в Jetpack библиотеках принимают в качестве параметра LifecycleOwner, например, так сделано в CameraX. Однако если в вашем проекте используется Decompose, и вы используете LocalLifecycleOwner для получения текущего значения в Composable функции, то жизненный цикл будет работать некорректно: он будет соответствовать жизненному циклу Activity или Fragment, так как Decompose нигде не переопределяет этот CompositionLocal и использует собственный жизненный цикл из библиотеки Essenty.

Чтобы исправить эту проблему, необходимо сконвертировать LifecycleOwner из Decompose в его аналог из Jetpack. Однако из коробки пока что такого адаптера нет, и придётся написать его самостоятельно, по аналогии с конвертацией ЖЦ в Essenty.

В версии Decompose 3.4.0 эта проблема будет решаться проще: появится JetpackComponentContext, как отдельная зависимость, и можно будет сразу получить нужный lifecycle прямо из компонента.

Поэтому будьте внимательны при использовании CompositionLocal для работы с жизненным циклом, если навигация в проекте построена на Decompose.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1