TGViewer
Channel Public Channel
Android Mobile | YeaHub

Android Mobile | YeaHub

@yeahub_android_mobile

Теория, подготовка к интервью и курсы для Android разработчиков

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

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

Для связи: @ruslan_kuyanets
Subscribers
430
Photos
332
Videos
21
Links
596

Showing posts older than #328 · Back to latest

Older Posts 15 shown
Post #327 143
#полезное
🥱 Timefold Solver — библиотека на Java/Kotlin для решения сложных задач оптимизации: от составления расписаний до маршрутизации транспорта. Разработана бывшей командой OptaPlanner, проект помогает автоматизировать процессы, которые обычно требуют ручного планирования и множества итераций.

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

👉Новости 👉База вопросов
Post #323 165
#полезное
📞 Android Lab - это комплексная платформа для разработки и оценки агентов Android.

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

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

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

👉Новости 👉База вопросов
Post #322 135
#Собес #android
🤔 Нужно обмениваться broadcast-сообщениями только между своими приложениями, запрещая внешним их принимать. Как это реализовать?

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

👉Новости 👉База вопросов
Post #320 140
#полезное
😇 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
Доки

👉Новости 👉База вопросов
  • ❤ 1
Post #319 120
#полезное
😊 FileKit — библиотека Kotlin, которая позволяет вам выбирать и сохранять файлы простым способом

Позволяет выбирать отдельные файлы, или целые папки, позволяет учитывать нужный формат (скажем, только .png)
Для каждой платформы FileKit использует собственный API для выбора файлов, чтобы обеспечить корректную работу.

GitHub
Затестить, как это работает

👉Новости 👉База вопросов
Post #318 109
#полезное
😐 The Kotlin Flow Operator Cheat Sheet

В догонку ещё один материал про Kotlin Flow – свежая шпаргалка по операторам, с примерами кода.

🔵map, filter, take(n)
🔵reduce, fold, runningReduce/scan,
🔵transform
🔵FlatMapConcat, FlatMapMerge, FlatMapLatest
🔵flowOn, buffer, conflate, collectLatest
🔵zip, combine, merge
🔵catch, onCompletion, retryWhen
🔵onEach, debounce(timeoutMillis), distinctUntilChanged
Читать

👉Новости 👉База вопросов
  • ❤ 1
Post #317 112
#Собес #android
🤔 В чём отличие регистрации BroadcastReceiver в манифесте и в коде (runtime-регистрация)?

При объявлении в манифесте приёмник работает даже если приложение не запущено (до Android 8.0, с ограничениями в 0+), а runtime-регистрация (registerReceiver ) действует только пока жив активный компонент (Activity/Service) и служит для динамических фильтров. Manifest-регистрация удобна для системных событий, runtime - для событий в пределах экрана.

👉Новости 👉База вопросов
Post #316 113
#полезное
❤️‍🔥 Reaktive — кроссплатформенная реализация Reactive Extensions для Kotlin. Проект позволяет использовать реактивные потоки данных на всех поддерживаемых платформах Kotlin Multiplatform, включая iOS, JS и Native.

Инструмент имеет глубокую интеграцию с корутинами и RxJava, что делает переход между разными парадигмами асинхронного кода практически seamless. Поддержка нового memory model в Kotlin/Native открывает возможности для настоящего многопоточного программирования.
Гитхаб

👉Новости 👉База вопросов
Post #315 113
#полезное
👋 Советы по сканированию DataMatrix

🟠 Google ML Kit оказался производительнее ZXing по нашим замерам. Осталась проблема с тем, что ML Kit не распознаёт белые DM на чёрном фоне.
🟠 Самое простое решение оказалось самым эффективным: для сканирования инвертированных DataMatrix нужно инвертировать Bitmap. Однако всё не так просто.
🟠 Самый эффективный способ инвертировать Bitmap — использовать ColorMatrix и нарисовать Bitmap на Canvas. Пример оставлю в комментариях.
🟠 Другая проблема заключалась в том, что CameraX отдаёт изображение в формате YUV, и стандартный метод конвертации ImageProxy в Bitmap может упасть с ошибкой UnsupportedOperationException. Тут два пути решения: написать свой конвертер или выставить в настройках камеры OutputImageFormat в формат RGBA.
🟠 А чтобы одновременно работать с обычными и инвертированными DM, лучше не использовать один ImageProxy, а сделать разные анализаторы и раскидывать кадры между ними по очереди, объединив их с помощью паттерна «Компоновщик».

👉Новости 👉База вопросов
Stack Overflow Converting YUV_420_888 to JPEG and saving file results distorted image I've used the ImageUtil class provided in https://stackoverflow.com/a/40152147/2949966 within my git repo: https://github.com/ahasbini/cameraview/tree/camera_preview_imp (note the implementation is...
Post #313 104
#полезное
😘 Простой виджет движения для разблокировки на Kotlin

dependencies {
implementation "com.ncorti:slidetoact:0.11.0"
}


🟠 полностью векторный, никаких .png
🟠 поддерживаются разные анимации
🟠 легко интегрируется (просто строка компиляции gradle)
🟠 подстраивается под тему приложения
🟠 можно использовать из коробки, всё будет работать
Гитхаб

👉Новости 👉База вопросов
  • 🔥 1
Post #312 107
#Собес #android
🤔 Какие проблемы могут возникнуть при перехвате Intent через BroadcastReceiver?

При перехвате могут быть уязвимости: подставить злонамеренный Intent (Intent-spoofing), вызвать переполнение очереди при многих Broadcast, получить лишние System-Broadcast после Android 8.0. Также возможны утечки ресурсов при незакрытых регистрации и таймауты, если приёмник обрабатывает тяжёлую работу в main-потоке.

👉Новости 👉База вопросов
  • ❤ 1
Post #311 131
#полезное
🛞 Ktlint — линтер Kotlin в духе feross/standard (JS) и gofmt (Go)

— brew install ktlint

Вообще, это довольно известный линтер, но если вдруг кто не знал — обязательно попробуйте

Особенности ktlint:
🟠 не требует настройки; уже из коробки ktlint позволяет отслеживать соблюдение соглашений по стилю — Android Kotlin Style Guide

🟠 ktlint позволяет легко создать собственные наборы правил; при необходимости эти правила можно легко отключить

🟠 в ktlint встроен форматтер, который исправляет неправильное написание кода, когда это возможно

🟠 настраиваемый вывод; из коробки доступны несколько отчетов форматов вывода plain, plain-summary, json, html и checkstyle; также без проблем можно создать собственный формат вывода

GitHub
Использование

👉Новости 👉База вопросов
Post #310 106
#статьи
🛞 Ныряем в холодные потоки Kotlin Flow

Базовая статья по основам Kotlin Flow для начинающих.

🟠 Термины
🟠 Холодные и горячие потоки
🟠 Холодные потоки, горячие каналы
🟠 Создание Flow
🟠 Структура Flow
🟠 Пример использования
Читать

👉Новости 👉База вопросов
  • ❤ 1
Post #309 91
#полезное
😱 Inure — необычный файловый менеджер для Android с открытым исходным кодом. Этот проект выделяется полностью кастомным интерфейсом, поддержкой Material You и встроенным терминалом.

Приложение разрабатывается одним человеком, но уже попало в подборки лучших open-source решений для Android. Оно работает как на рутированных устройствах, так и через Shizuku, предлагая продвинутый анализ установленных приложений.
Гитхаб

👉Новости 👉База вопросов
  • ❤ 1
Post #308 102
#Собес #android
🤔 В чём различие между явным (explicit) и неявным (implicit) Intent?

Явный Intent указывает точный компонент (имя пакета и класса) для запуска, а неявный содержит только действие ( action ), категорию и/или данные, система сама выбирает подходящий компонент через intent-filter. Явные используют для внутренних переходов в своём приложении, неявные - для взаимодействия с другими приложениями (открыть браузер, поделиться текстом).

👉Новости 👉База вопросов
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →