ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Android разработка

Android разработка

الذهاب إلى القناة على Telegram
4 874
المشتركون
-224 ساعات
+107 أيام
-430 أيام
أرشيف المشاركات
Compose Sonner Это компонент toast-уведомлений для Compose Multiplatform, основанный на Sonner! Он поддерживает различные типы уведомлений, анимации, кастомизацию и не зависит от Material Design. Особенности: Практически такое же, как реализация emilkowalski на React: интерфейс, анимации и даже API. К ним относятся: * Сложенные тосты и расширяемые тосты * Различные типы и насыщенные цвета * Переходы (анимации) * Позиции (выравнивание) * Смахивание вниз для закрытия * Кнопка закрытия и кнопка действия * Пользовательские иконки * Длительность отображения * Ленивая загрузка и высокая производительность: вы можете отображать множество тостов одновременно * Полная настраиваемость: вы можете отображать собственный Composable * Поддержка как Material 2, так и Material 3 за счет отсутствия зависимости от них https://github.com/dokar3/compose-sonner #Android

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можн
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_ci Java: t.me/javatg JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

🍃 Не раскладывайте весь Spring-проект по папкам controller, service и repository. В новом This Week in Spring Джош Лонг сове
🍃 Не раскладывайте весь Spring-проект по папкам controller, service и repository. В новом This Week in Spring Джош Лонг советует группировать код по функциональности, используя подход Spring Modulith. Например, orders, payments, users, внутри которых находятся относящиеся к ним слои. Ещё в подборке: • JobRunr 9: поиск упавшего шага и задач, вызывающих замедление, остановка выполнения без потери работы. • Spring AI: разбор агентных паттернов и вызова инструментов от руководителя проекта Кристиана Цолова. • Progen CLI: видео о генерации каркаса приложения. • IntelliJ IDEA: обзор новых возможностей. • A Bootiful Podcast: разговор с создателем Jenkins Косуке Кавагути. https://spring.io/blog/2026/10/13/this-week-in-spring-october-13th-2026 #Java #SpringBoot

📞 Входящий звонок: VK JT Mobile Meetup 31 октября в Москве и 14 ноября в Санкт-Петербурге VK собирает опытных iOS- и Android
📞 Входящий звонок: VK JT Mobile Meetup 31 октября в Москве и 14 ноября в Санкт-Петербурге VK собирает опытных iOS- и Android-разработчиков. В Москве пройдут два параллельных трека — по iOS и Android. В Петербурге — общий трек для обеих платформ. Спикеры из ВКонтакте, Дзена, MAX, VK Tech и других команд VK разберут инженерные кейсы: расскажут о производительности, тестировании, архитектуре, импакт-анализе, ИИ и других задачах мобильной разработки. После докладов можно обсудить подходы с коллегами, поучаствовать в интерактивах и пообщаться на афтепати. Только офлайн. Количество мест ограничено. 👉 Регистрация

Опубликована мобильная платформа LineageOS 24, основанная на Android 17 Представлен выпуск мобильной платформы LineageOS 24, основанный на кодовой базе Android 17 и выпущенный в канун десятилетия проекта, которое состоится 24 декабря 2026 года. Ветка LineageOS 24 достигла паритета по функциональности и стабильности c веткой 23.2, и признана готовой для формирования первого релиза. Сборки подготовлены для 175 устройств, 24 из которых ранее не были в списке поддерживаемых. Полный текст: https://opennet.ru/66445/ https://opennet.me/66445/

💥 `supervisorScope` не спасает Android-приложение от краша supervisorScope { launch { process1() } launch { error("Boom!") }
💥 `supervisorScope` не спасает Android-приложение от краша

supervisorScope {
    launch { process1() }
    launch { error("Boom!") }
}
Ошибка во второй корутине не отменит первую. Но исключение всё равно нужно обработать: без подходящего обработчика оно может завершить Android-приложение. Для необработанных ошибок дочернего launch можно добавить:

val handler = CoroutineExceptionHandler { _, e ->
    Log.e("Coroutine", "Task failed", e)
}

supervisorScope {
    launch { process1() }
    launch(handler) { process2() }
}
Ожидаемые ошибки обрабатывайте через `try/catch` внутри задачи. CoroutineExceptionHandler получает уже завершившуюся с ошибкой корутину и не может продолжить её выполнение. Супервизия изолирует сбои задач. Обработка исключений определяет, что делать с самим сбоем.

🧠 Spring AI показал, как сделать RAG заметно умнее обычного vector search. Проблема классического RAG: похожий документ ещё не значит полезный. Новый пайплайн делает так: Question → Rewrite → MultiQuery → Vector Search → Jev Filter → Rerank → LLM Jev проверяет каждый найденный chunk: есть ли там реальный ответ, противоречие или prompt injection. В демо vector search нашёл 6 фрагментов, но до модели дошли только 2 действительно полезных. Меньше мусора в контексте → точнее ответы и меньше шансов на prompt injection. Код и разбор: https://spring.io/blog/2026/10/02/spring-ai-modular-rag-typesafe-jev/

Доступна Android-прошивка CalyxOS 8.0, не привязанная к сервисам Google Опубликован выпуск CalyxOS 8.0, прошивки на основе платформы Android, избавленной от привязок к сервисам Google и предоставляющей дополнительные средства для обеспечения конфиденциальности и безопасности. Новый выпуск переведён на кодовую базу Android 17 и доступен в сборках для устройств Pixel 5-10, Fairphone 4-6, Motorola Moto G32-G84 и SHIFTphone 8. Подробнее: https://opennet.ru/66382/ https://opennet.me/66382/

Kotlin 2.5.0-Beta1 вышел JetBrains выпустила первую бета-версию Kotlin 2.5.0. Главное: - Language: стабильная name-based dest
Kotlin 2.5.0-Beta1 вышел JetBrains выпустила первую бета-версию Kotlin 2.5.0. Главное: - Language: стабильная name-based destructuring в only-syntax режиме, плюс экспериментальные companion extensions и blocks. - Standard Library: новые экспериментальные функции для упрощения типичных конструкций с if. - Kotlin/JS: добавлена поддержка target ES2020. - Compiler: более предсказуемое поведение inline-функций при компиляции .klib. Пока это Beta, но релиз уже показывает, в какую сторону движется Kotlin 2.5: меньше синтаксического шума, современнее JS-таргеты и более стабильное поведение компилятора. https://kotl.in/2-5-0-beta1

Repost from Machinelearning
📱 Qwen представила Qwen Intelligence - набор ИИ-агентов для смартфонов. В основе три агента: * Mobile Planner Agent - разбив
+5
📱 Qwen представила Qwen Intelligence - набор ИИ-агентов для смартфонов. В основе три агента: * Mobile Planner Agent - разбивает сложные задачи на шаги и координирует выполнение. * Mobile-Use Agent - выполняет действия в приложениях через API, а при необходимости переключается на GUI. На MobileWorld — 82.1%, на MobileWorld-Real — 92.2%. * Mobile Creative Agent — превращает короткий запрос в готовый визуальный контент; заявленная генерация изображения - около 3 секунд. Qwen также открывает набор мобильных бенчмарков: MobilePA-Bench, MobileWorld, MobileWorld-Real и MobileWorld-Safety — для проверки планирования, работы между приложениями, реальных устройств и безопасности. Один агент планирует, второй действует, третий создаёт контент - прямо на смартфоне. 🔗 Learn more about the agents: - Qwen Intelligence official website: https://qwenintelligence.com - Mobile Planner Agent: https://github.com/Tongyi-MAI/Qwen-Planner-Agent - Mobile-Use Agent: https://tongyi-mai.github.io/Qwen-UI-Agent/ - Mobile Creative Agent: https://arxiv.org/abs/2608.16887 🔗 Explore our open benchmark suite: - MobilePA-Bench: https://tongyi-mai.github.io/MobilePA-Bench/ - MobileWorld (GitHub): https://github.com/Tongyi-MAI/MobileWorld - Leaderboard: https://tongyi-mai.github.io/MobileWorld/#leaderboard @ai_machinelearning_big_data #qwen #mobile

🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разработки Что сейчас в приоритете: - до
🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разработки Что сейчас в приоритете: - довести Kotlin/Wasm до Stable - ускорить KAPT до уровня Java APT - улучшить incremental compilation в K2 - сделать новый JVM reflection - перевести wasm-wasi на WASI Preview 2 и добавить Component Model - продвинуть Swift Export из Alpha в Beta - улучшить Xcode integration и Kotlin/Native debugger - добавить импорт Swift Package Manager пакетов - развивать Kotlin LSP и поддержку VS Code - выпустить единый Kotlin Toolchain - добавить first-class поддержку JPA/Hibernate для Kotlin stdlib types - стабилизировать kotlinx.serialization, kotlinx.collections.immutable и kotlinx-io - выпустить Kotlin DataFrame 1.0 - добавить HTTP/3 и gRPC в Ktor Из уже завершённого: Swift 6.3 support, multi-module compilation для Kotlin/Wasm, Navigation3 для Compose Multiplatform и 18-месячное окно security fixes для stdlib. Главное направление видно очень чётко: Kotlin всё сильнее двигается в сторону полноценной кроссплатформенной экосистемы — JVM, iOS, WebAssembly и web. Следующее обновление roadmap запланировано на февраль 2027. https://kotlinlang.org/docs/roadmap.html

✔️ Как работают SAM-conversions Single Abstract Method (SAM) интерфейсы — это интерфейсы только с одним абстрактным методом (функциональные интерфейсы). Kotlin поддерживает соглашение SAM — автоматическую конвертацию функций и lambda между Kotlin и Java. SAM-conversions позволяют использовать Java-интерфейсы с единственным абстрактным методом в Kotlin, как если бы это были функциональные типы. В Kotlin вы можете использовать такие интерфейсы для создания лямбда-выражений без явного определения функционального типа. При использовании интерфейса с единственным абстрактным методом в качестве функционального интерфейса в Java, вы можете передавать его экземпляры вместо лямбда-выражений. Это тоже возможно в Kotlin, но на самом деле Kotlin предоставляет более простой синтаксис для этого. Когда вам нужно использовать функциональный интерфейс в Kotlin, вы можете передать lambda-выражение, которое соответствует сигнатуре единственного метода интерфейса, вместо экземпляра интерфейса. Компилятор сам преобразует лямбда-выражение в экземпляр интерфейса, используя функцию-расширение метода invoke интерфейса. Пример:

interface OnClickListener {
    fun onClick(view: View)
}

class Button {
    fun setOnClickListener(listener: OnClickListener) {
        // ...
    }
}

val button = Button()
button.setOnClickListener { view -> 
    // обработка нажатия кнопки
}
В этом примере мы определяем интерфейс OnClickListener с единственным абстрактным методом onClick. Затем мы создаем класс Button, который может иметь слушатель, реализующий данный интерфейс. После этого мы создаем экземпляр Button и передаем лямбда-выражение с соответствующей сигнатурой в качестве слушателя. Компилятор автоматически преобразует это лямбда-выражение в экземпляр интерфейса OnClickListener, используя функцию-расширение invoke интерфейса. #буст #JuniorKit #Kotlin

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можн
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: t.me/javatg JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Repost from Machinelearning
✔️ Апдейт ChatGPT: изолированный контекст в Projects, тесты для проверки знаний и правки для Android У проектов появился пере
✔️ Апдейт ChatGPT: изолированный контекст в Projects, тесты для проверки знаний и правки для Android У проектов появился переключатель контекста - модель может брать общую память или работать только с тем, что загружено внутрь проекта, игнорируя историю остальных чатов. Пересоздавать проект для этого не нужно. Проекты с общим доступом работают только во втором режиме. Пользователи платных тарифов стали видеть на стартовом экране персональные подсказки, которые собираются из прошлых чатов и истории использования инструментов. Бесплатным и образовательным аккаунтам добавили генерацию тестов для самопроверки. В приложении для Android починили сброс фокуса при подключении физической клавиатуры, а кнопка голосового ввода больше не пропадает после того, как прикрепишь файл. @ai_machinelearning_big_data #news #ai #ml

💡 Android/Kotlin: не перезапускайте `Flow` после каждого поворота экрана Частая ошибка в ViewModel:

val uiState = repository.observeData()
    .stateIn(
        scope = viewModelScope,
        started = SharingStarted.WhileSubscribed(),
        initialValue = UiState.Loading
    )
У WhileSubscribed() тайм-аут по умолчанию равен нулю. Когда Activity пересоздаётся при повороте экрана, подписчик исчезает, upstream-поток сразу останавливается, а затем запускается заново. Это может повторно инициировать запросы, чтение базы или тяжёлые вычисления. Добавьте небольшой период ожидания:

val uiState = repository.observeData()
    .stateIn(
        scope = viewModelScope,
        started = SharingStarted.WhileSubscribed(5_000),
        initialValue = UiState.Loading
    )
Теперь поток продолжит работать ещё пять секунд после исчезновения последнего подписчика. Этого обычно достаточно, чтобы новая Activity успела подключиться после изменения конфигурации. В Compose собирайте состояние с учётом жизненного цикла:

val uiState by viewModel.uiState.collectAsStateWithLifecycle()
Получается полезный баланс: - поворот экрана не перезапускает весь pipeline; - при реальном уходе со страницы поток остановится; - ViewModel не тратит ресурсы без активного интерфейса. 5_000 - не магическое значение. Для дорогого подключения его можно увеличить, а для быстрого локального потока - уменьшить. #Android #Kotlin #StateFlow #JetpackCompose

Лето, ИТ-Пикник и музыка известных артистов уже через несколько дней! 8 августа в Коломенском пройдет ИТ-Пикник. В программе
Лето, ИТ-Пикник и музыка известных артистов уже через несколько дней! 8 августа в Коломенском пройдет ИТ-Пикник. В программе — выступления проекта LAB Антона Беляева, IOWA, Cream Soda, Pompeya, мартина и Совы. А днем — научпоп-лекции, дискуссии об ИИ и больших языковых моделях, мастер-классы и интерактивы. Полезные знакомства и развлечения тоже будут. Зарегистрироваться и узнать подробности можно на сайте мероприятия. В билет входит +1 — можно позвать близких и друзей. До встречи в месте притяжения ИТ.

🔥 JetBrains открыла исходники KotlinLLM - Kotlin-код, который дописывает себя во время выполнения KotlinLLM - исследовательс
🔥 JetBrains открыла исходники KotlinLLM - Kotlin-код, который дописывает себя во время выполнения KotlinLLM - исследовательский плагин для IntelliJ IDEA, который позволяет делегировать часть логики приложения LLM прямо во время запуска. Пример:

val apiUrl: String = asLlm(
    "JetBrains/kotlin",
    hint = "Верни URL для GitHub Issues API"
)

val service: GithubService = mockLlm()
Когда приложение сталкивается с новым сценарием, плагин: 1. получает runtime-значения и типы; 2. просит LLM сгенерировать обновление; 3. компилирует новый код; 4. горячо перезагружает класс; 5. повторно выполняет исходный вызов. Главная идея - модель не вызывается постоянно. Успешное решение сохраняется как обычный Kotlin-файл, который можно проверить, изменить, закоммитить и запускать дальше уже без LLM. Сейчас доступны два основных механизма: - asLlm<F, T>() - преобразует значение одного типа в другой; - mockLlm<T>() - генерирует реализацию интерфейса и развивает её по мере появления новых сценариев. Пока это исследовательский прототип для Kotlin/JVM. Проект распространяется по лицензии Apache 2.0. GitHub: https://github.com/JetBrains-Research/kotlinllm-plugin

Google убрала последний барьер для перехода с iPhone на Android 😐 В Android 17 переезд с iPhone сделали максимально бесшовны
Google убрала последний барьер для перехода с iPhone на Android 😐 В Android 17 переезд с iPhone сделали максимально бесшовным: новый смартфон сам подтягивает фотографии, видео, сообщения, контакты, сохранённые сети Wi-Fi и даже eSIM. Без отдельных приложений, без танцев с бубном и без традиционного «что-то точно не перенесётся». На первый взгляд — просто обновление. На практике — это ломает один из последних якорей, которые держали людей в экосистеме Apple.  Кто с Pixel или новыми Samsung Z Flip8 / Z Fold8 — уже могут щупать. Остальным — подвезут позже.

Repost from Machinelearning
+4
⚡️ Локальные LLM стали серьёзнее: Bonsai 27B весит меньше 4 ГБ PrismML взяла модель класса 27B и сжала её через 1-bit quantization: с примерно 54 ГБ до 3.8–3.9 ГБ. Заявляют, что при таком сжатии модель сохраняет около 90% качества оригинала. Это уже размер, с которым можно думать не только про серверы, но и про ноутбуки, браузер и смартфоны. Есть и более качественная версия Ternary Bonsai 27B: около 5.9 ГБ и до 95% качества baseline. Модель поддерживает мультимодальность, reasoning, кодинг, tool calling и агентные сценарии. То есть это не просто локальный чат, а база для локальных AI-агентов. Для Bonsai уже сделали WebGPU demo: кастомные kernel’ы позволяют запускать модель прямо в браузере. По словам Xenova, часть WebGPU-кода помогали писать Fable 5 и GPT 5.6 Sol. HF collection: https://huggingface.co/collections/prism-ml/bonsai-27b WebGPU demo: https://huggingface.co/spaces/webml-community/bonsai-webgpu-kernels @ai_machinelearning_big_data #llm #ai #ml

Open-source IDE на Qt6 для реверс-инжиниринга Android APK. https://github.com/vaibhavpandeyvpz/apkstudio
Open-source IDE на Qt6 для реверс-инжиниринга Android APK. https://github.com/vaibhavpandeyvpz/apkstudio