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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😇 http4k — набор функциональных инструментов для HTTP-приложений

http4k — это легкий, но полнофункциональный набор инструментов для работы с HTTP, написанный на чистом Kotlin.

http4k позволяет писать приложения как простые функции Kotlin. Например, так выглядит простой эхо-сервер:
 val app: HttpHandler = { request: Request -> Response(OK).body(request.body) }
val server = app.asServer(SunHttp(8000)).start()


GitHub
Доки

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #android
🤔 Нужно обмениваться broadcast-сообщениями только между своими приложениями, запрещая внешним их принимать. Как это реализовать?

При отправке читайте разрешение через sendBroadcast (intent, YOUR_PERMISSION) и регистрируйте BroadcastReceiver С тем же правом: в манифесте укажите android: permission="YOUR_PERMISSION" . Тогда только приложения, у которых есть это разрешение, смогут отправлять или принимать ваш Broadcast.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Android Lab - это комплексная платформа для разработки и оценки агентов Android.

Интегрируя контролируемую среду и стандартизированные тесты, а также используя набор данных Android Instruct, инструмент повышает производительность мл-моделей и агентов с открытым исходным кодом.

Внутри два режима выполнения: AVD на Mac (arm64) и Docker на Linux (x86_64). Вы можете свободно добавлять или изменять новые задачи или образы для Android приложений в соответствии с нашей платформой. Android Lab содержит полную систему оценки, которая может быть использована для оценки производительности различных агентов Android.

Тест AndroidLab включает в себя готовые виртуальные устройства Android и 138 задач в девяти приложениях, созданных на этих устройствах.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥱 Timefold Solver — библиотека на Java/Kotlin для решения сложных задач оптимизации: от составления расписаний до маршрутизации транспорта. Разработана бывшей командой OptaPlanner, проект помогает автоматизировать процессы, которые обычно требуют ручного планирования и множества итераций.

Разработчики предлагают две версии: бесплатную Community Edition с открытым исходным кодом и коммерческую Enterprise Edition с поддержкой многопоточной оптимизации и приоритетным доступом к помощи разработчиков. Для старта достаточно клонировать репозиторий с примерами или подключить Maven-зависимость.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Jackson Module Kotlin — решение для удобной работы Jackson с Kotlin-классами. Раньше для десериализации JSON в Kotlin-классы требовался конструктор по умолчанию, но этот модуль устраняет это ограничение. Он автоматически поддерживает классы с одним конструктором, а также позволяет работать с фабричными методами и вторичными конструкторами.

Модуль интегрируется с ObjectMapper и сохраняет информацию о типах Kotlin, включая generics. Особенно удобен для data-классов, sealed-классов и встроенных Kotlin-типов вроде Pair или Range. Поддержка Android и конфигурация через Gradle/Maven делают его универсальным инструментом.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #android
🤔 Сколько времени может работать фоновый Service?

Начиная с Android 8.0, обычный фоновой сервис может работать только несколько секунд после ухода приложения в фон, иначе система убьёт его. Для долгой фоновой работы нужно использовать Foreground Service с уведомлением, тогда он работает бесконечно, пока пользователь его не остановит, но за ним следят ограничения по энергопотреблению.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥄 Calendar — гибкая библиотека Kotlin для создания и работы с календарями

Calendar — это гибко настраиваемая библиотека календаря для Android, опирающаяся на RecyclerView для просмотра и LazyRow/LazyColumn для создания календаря.

🟠 GitHub
🟠 Пример кода готового календаря
🟠 Скачать демо-apk

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
#полезное
🤯 Kotlin-Result — функциональный подход к обработке ошибок. Библиотека предлагает монаду Result для Kotlin, вдохновлённую решениями из Rust и Haskell. Позволяет явно разделять успешный результат (Ok) и ошибку (Err), избегая исключений и null-значений.

Проект имеет zero-overhead реализацию через inline-классы и поддержку корутин. Подходит для проектов, где важна предсказуемость и читаемость кода обработки ошибок.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
😱 Создание кастомного тултипа Jetpack Compose

Пошаговый гайд по созданию гибкой и удобной системы тултипов в Jetpack Compose, с помощью модифайеров и специального оборачивающего блока.
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
#Собес #android
🤔 Как работают методы bind и unbind y Android-сервисов?

bindService(Intent, ServiceConnection, flags) свЯЗЫВает клиент (Activity или другой компонент) с сервисом, вызывая в сервисе onBind (Intent) и вОЗВраЩая IBinder для взаимодействия. unbindService(ServiceConnection) разрывает связь, и если нет других клиентов и сервис не был запущен через startService, он завершается.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🤓 Kvaesitso — Android лаунчер на Kotlin, с упором на поисковые возможности

Kvaesitso — это open-source Android лаунчер с акцентом на возможности поиска
Можно взять Kvaesitso за основу и использовать в своих проектах, благо лицензия GPL-3.0

GitHub
Доки

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😊 kobweb — современный фреймворк для full stack веб-приложений на Kotlin

Kobweb — это фреймворк Kotlin, построенный на основе Compose HTML.
Kobweb включает в себя все необходимое для создания динамичных веб-сайтов, а также веб-приложений, используя при этом всю экосистему Kotlin.

GitHub
Доки

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
#полезное
😇 KVision — ООП веб-фреймворк для Kotlin

KVision позволяет создавать современные веб-приложения на Kotlin без использования HTML, CSS и JavaScript. KVision предоставляет большую коллекцию готовых к использованию компонентов GUI, которые можно использовать в качестве блоков для построения пользовательского интерфейса приложения.

KVision полностью поддерживает как реактивные, так и императивные стили программирования. KVision содержит инновационный интерфейс для подключения фреймворков Ktor, Jooby, Spring Boot, Javalin, Vert.x и Micronaut на стороне сервера, что позволяет создавать fullstack-приложения с общим кодом для модели данных и бизнес-логики. KVision активно развивается.

GitHub
Доки

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2👍1🥰1
#Собес #android
🤔 При повороте экрана нужно сохранить и изменить определённые данные в Presenter без ViewModel. На каком этапе жизненного цикла и как это сделать?

При повороте экрана Activity уничтожается и создаётся заново. В MVP можно сохранить данные в onSaveInstanceState(Bundle) Presenter-a через Bundle (через интерфейс Activity → Presenter) и восстановить в onCreate нового View, передав сохранившийся Bundle . Либо хранить Presenter с данными в setRetainInstance(true) y Fragment.

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