#полезное
📞 Android Lab - это комплексная платформа для разработки и оценки агентов Android.
Интегрируя контролируемую среду и стандартизированные тесты, а также используя набор данных Android Instruct, инструмент повышает производительность мл-моделей и агентов с открытым исходным кодом.
Внутри два режима выполнения: AVD на Mac (arm64) и Docker на Linux (x86_64). Вы можете свободно добавлять или изменять новые задачи или образы для Android приложений в соответствии с нашей платформой. Android Lab содержит полную систему оценки, которая может быть использована для оценки производительности различных агентов Android.
Тест AndroidLab включает в себя готовые виртуальные устройства Android и 138 задач в девяти приложениях, созданных на этих устройствах.
Гитхаб
👉 Новости 👉 База вопросов
Интегрируя контролируемую среду и стандартизированные тесты, а также используя набор данных 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
👉 Новости 👉 База вопросов
Разработчики предлагают две версии: бесплатную 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
👉 Новости 👉 База вопросов
Модуль интегрируется с 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 с уведомлением, тогда он работает бесконечно, пока пользователь его не остановит, но за ним следят ограничения по энергопотреблению.
👉 Новости 👉 База вопросов
Начиная с Android 8.0, обычный фоновой сервис может работать только несколько секунд после ухода приложения в фон, иначе система убьёт его. Для долгой фоновой работы нужно использовать Foreground Service с уведомлением, тогда он работает бесконечно, пока пользователь его не остановит, но за ним следят ограничения по энергопотреблению.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥄 Calendar — гибкая библиотека Kotlin для создания и работы с календарями
Calendar — это гибко настраиваемая библиотека календаря для Android, опирающаяся на
🟠 GitHub
🟠 Пример кода готового календаря
🟠 Скачать демо-apk
👉 Новости 👉 База вопросов
Calendar — это гибко настраиваемая библиотека календаря для Android, опирающаяся на
RecyclerView для просмотра и LazyRow/LazyColumn для создания календаря.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. Позволяет явно разделять успешный результат (
Проект имеет zero-overhead реализацию через inline-классы и поддержку корутин. Подходит для проектов, где важна предсказуемость и читаемость кода обработки ошибок.
Гитхаб
👉 Новости 👉 База вопросов
Ok) и ошибку (Err), избегая исключений и null-значений. Проект имеет zero-overhead реализацию через inline-классы и поддержку корутин. Подходит для проектов, где важна предсказуемость и читаемость кода обработки ошибок.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
😱 Создание кастомного тултипа Jetpack Compose
Пошаговый гайд по созданию гибкой и удобной системы тултипов в 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
Доки
👉 Новости 👉 База вопросов
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
Доки
👉 Новости 👉 База вопросов
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
Доки
👉 Новости 👉 База вопросов
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 можно сохранить данные в
👉 Новости 👉 База вопросов
При повороте экрана 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
#полезное
😵💫 Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping
Ещё про Compose. Интересная статья, в которой автор рассказывает, как лямбды и strong skipping режим влияют на работу компилятора и на рекомпозицию.
Выводы и рекомендации от автора
🟠 Compose стал более агрессивно оптимизировать пропуск Composable функций, когда параметры не изменились.
🟠 Акцент в отдладке Compose сдвигается от метрик и отчетов к отладке на основе LayoutInspector и других инструментов, потому что метрики и отчеты говорят слишком мало о реальной производительности компонентов.
🟠 Чтобы обновить UI, используя нестабильные аргументы, нужно создать новый инстанс такого аргумента в памяти, и метод copy дата-классов для этого отлично подходит.
🟠 При работе с коллекциями для оптимизации рекомпозиций больше не нужно использовать Immutable Collections, однако придется обновлять их с созданием нового инстанса. Альтернатива использовать - SnapshotStateList.
🟠 При работе с лямбдами для максимальной производительности нужно захватывать только те объекты, которые действительно нужны: если нужно только одно поле класса, лучше прочитать поле в отдельную переменную и сослаться на нее.
Код экспериментов из статьи → ComposeStability
Читать
👉 Новости 👉 База вопросов
Ещё про Compose. Интересная статья, в которой автор рассказывает, как лямбды и strong skipping режим влияют на работу компилятора и на рекомпозицию.
Выводы и рекомендации от автора
Код экспериментов из статьи → ComposeStability
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Техническое собеседование. Лето 2024
Вопросы:
- Как бы вы реализовали чат в Android?
- Что произойдёт, если запрашивать атрибут PrimaryColor из ApplicationContext и из ActivityContext?
- За что отвечают колбэки onStart, onStop, onPause, onResume?
- Как обновить только один TextView в списке без полного ребинда всего элемента?
Все вопросы можно посмотреть на нашей платформе
#собес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1