// Пример использования суммаризации текста на основе GenAI API
val articleToSummarize = "Long text..."
val summarizerOptions = SummarizerOptions.builder(context)
.setInputType(InputType.ARTICLE)
.setOutputType(OutputType.ONE_BULLET)
.setLanguage(Language.ENGLISH)
.build()
val summarizer = Summarization.getClient(summarizerOptions)
suspend fun prepareAndStartSummarization(context: Context) {
val featureStatus = summarizer.checkFeatureStatus().await()
if (featureStatus == FeatureStatus.DOWNLOADABLE) {
summarizer.downloadFeature(object : DownloadCallback {
override fun onDownloadCompleted() {
startSummarizationRequest(articleToSummarize, summarizer)
}
})
} else if (featureStatus == FeatureStatus.DOWNLOADING) {
startSummarizationRequest(articleToSummarize, summarizer)
} else if (featureStatus == FeatureStatus.AVAILABLE) {
startSummarizationRequest(articleToSummarize, summarizer)
}
}
fun startSummarizationRequest(text: String, summarizer: Summarizer) {
val summarizationRequest = SummarizationRequest.builder(text).build()
summarizer.runInference(summarizationRequest) { newText ->
// Show new text in UI
}
}
summarizer.close()
Сейчас уже доступно:
#androidstudio #android #ai #gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
Ключевые отличия от WearOS 5:
👉 Редизайн на основе Material 3 Expressive
👉 Улучшения времени работы до 10%
👉 Динамическая тема на основе цвета циферблата (будет в Pixel Watch)
👉 Новый лайут для тайлов с 3 слотами для элементов
👉 Компоненты оптимизированы под круглые и большие экраны
👉 Новые возможности кастомизации циферблатов. Будет поддержано в Watch Face Format v4
👉 API для создания магазинов циферблатов
👉 Credential Manager появится на WearOS
👉 Больше возможностей по управлению проигрываемой медиа
#android #wearos #googleio #materi3expressive
Please open Telegram to view this post
VIEW IN TELEGRAM
Google предоставляет множество возможностей по созданию циферблатов для WearOS на основе Watch Face Format и в следующей ОС добавляют Watch Face Push API, позволяющее создать свой магазин циферблатов 🤯
Циферблаты будут публиковать как и ранее. Разработчик может сделать приложение с витриной циферблатов и устанавливать их на часы с помощью Watch Face Push API
#android #wearos
Please open Telegram to view this post
VIEW IN TELEGRAM
В WearOS 6 будет поддерживаться новая версия Watch Face Format (WFF). Она принесет
👉 Добавление пользовательского фото
👉 Анимации при переходе и выходе из спящего (ambient) режима
👉 Цветовые трансформации на основе значения
👉 Автоматическое изменения размера текста (доступно в WFF v3)
#android #wearos
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Одна из причин раскатки приложения пошагово - желание проверить как работает новая версия, но уже традицией стало оставлять раскатку на 99% из-за того что после полной нельзя остановить её. Теперь это станет возможным
#googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AvitoTech
Шутим, конечно! А, если серьезно, в новом выпуске «Свободного слота» говорим про то, с чем сталкивается каждый тимлид — непростые решения, которые приходится принимать: от переноса большого релиза до тяжелых увольнений.
Как действовать в этих ситуациях разбираемся с Олегом Федоткиным, CTO в Циан и автором канала «Инженер и менеджер». А ещё обсуждаем:
Смотреть и слушать:
#tl #свободный_слот
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Yandex for Mobile
Ребята добавили визуальный редактор, для работы с которым не нужно знать код — разработка интерфейсов похожа на работу в Figma.
Теперь команды разработчиков смогут быстрее прототипировать и реализовывать новые функции, выкатывать обновления и выпускать продукты в релиз. А продактам будет легче объяснять им свои потребности.
Подписывайтесь:
Please open Telegram to view this post
VIEW IN TELEGRAM
#android #googleplay #googleio
Please open Telegram to view this post
VIEW IN TELEGRAM
#android #googleplay #безопасность #googleio
Please open Telegram to view this post
VIEW IN TELEGRAM
Приложения смогут сохранить и получить данные, связанные с конкретным устройством. Информация сохраняется на серверах Google, что позволит получить данные после переустановки и даже сброса устройства до заводских настроек.
#googleplay #gms #android #безопасность #googleio
Please open Telegram to view this post
VIEW IN TELEGRAM
#android #googleplay
Please open Telegram to view this post
VIEW IN TELEGRAM
App Tracer Lite SDK (9м) - версия App Tracer SDK (замена Firebase сервисам для мониторинга состояния приложения), которая предназначена для встраивания в SDK, что его разработчики могли понимать как оно работает в приложениях, куда интегрируется SDK, без необходимости коммуникации с пользователями SDK
Пока App Tracer Lite SDK нету в общем доступе, но запросить его можно через @tracer_feedback
#android #инструменты
Пока App Tracer Lite SDK нету в общем доступе, но запросить его можно через @tracer_feedback
#android #инструменты
Media is too big
VIEW IN TELEGRAM
В Android 16 добавили новый стиль уведомлений - ProgressStyle, а также рассказали про Live Update Notification (важно - не любое уведомление с ProgressStyle будет Live Update)
Особенности Live Update уведомлений
👉 Показывается в Always-On режиме дисплея
👉 Показывается в верху списка всех уведомлений
👉 В status bar вместо иконки уведомления будет показываться время/прогресс
Задать что уведомление является Live Updates нельзя. Система автоматические определяет уведомление в эту категорию, когда оно соответствуют требованиям:
👉 Должно быть определенного стиля: BigTextStyle, CallStyle, ProgressStyle или без стиля
👉 Должно быть ongoing
👉 Не допускается использования custom view в уведомлении
👉 Не может быть группировкой других уведомлений (notification group)
👉 Не задается важность или она должна быть выше чем
IMPORTANCE_MIN
👉 Должно быть Colorized
👉 Должно быть заголовок (title)
В докладе подробно рассказывают про новый тим уведомлений и показываю пример реализации.
#android #android16 #googleio
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kotlin Multiplatform Broadcast
Самый простой способ подключения - через Gradle плагин
#kotlin #coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Ищем талантливого видеомонтажёра в команду Android Broadcast!
Привет! Команда @android_broadcast растёт, и нам нужен креативный, ответственный и инициативный монтажёр видео, который поможет нам создавать яркий и полезный технологический контент.
Что предстоит делать:
👉 Монтаж роликов для YouTube (технологические обзоры, туториалы, интервью, образовательный контент).
👉 Создание и интеграция графики и анимаций.
👉 Участие в обсуждении идей и улучшении качества контента вместе с командой.
Что важно для нас:
👉 Опыт работы с видеомонтажом от 1 года (обязательно наличие примеров работ).
👉 Умение создавать анимации, графические элементы и работать с текстовыми вставками.
👉 Ответственность, соблюдение сроков и умение работать в команде.
Будет большим плюсом, если у тебя есть:
👉 Если работаешь Final Cut Pro - это плюс, но не обязательно
👉 Знание и опыт работы с платформой Frame.io.
👉 Опыт монтажа образовательного или технологического контента.
Условия работы:
👉 Удалённая работа с гибким графиком.
👉 Возможность развиваться и повышать свои навыки вместе с опытной командой.
👉 Оплата обсуждается по результатам собеседования.
📩 Заинтересовало?
Пиши в Telegram @kirill_broadcast
При отклике сразу присылай резюме или описание своего опыта, а также ссылки на свои работы.
Ждём тебя в команде Android Broadcast!
#AndroidBroadcast #вакансия
Привет! Команда @android_broadcast растёт, и нам нужен креативный, ответственный и инициативный монтажёр видео, который поможет нам создавать яркий и полезный технологический контент.
Что предстоит делать:
👉 Монтаж роликов для YouTube (технологические обзоры, туториалы, интервью, образовательный контент).
👉 Создание и интеграция графики и анимаций.
👉 Участие в обсуждении идей и улучшении качества контента вместе с командой.
Что важно для нас:
👉 Опыт работы с видеомонтажом от 1 года (обязательно наличие примеров работ).
👉 Умение создавать анимации, графические элементы и работать с текстовыми вставками.
👉 Ответственность, соблюдение сроков и умение работать в команде.
Будет большим плюсом, если у тебя есть:
👉 Если работаешь Final Cut Pro - это плюс, но не обязательно
👉 Знание и опыт работы с платформой Frame.io.
👉 Опыт монтажа образовательного или технологического контента.
Условия работы:
👉 Удалённая работа с гибким графиком.
👉 Возможность развиваться и повышать свои навыки вместе с опытной командой.
👉 Оплата обсуждается по результатам собеседования.
📩 Заинтересовало?
Пиши в Telegram @kirill_broadcast
При отклике сразу присылай резюме или описание своего опыта, а также ссылки на свои работы.
Ждём тебя в команде Android Broadcast!
#AndroidBroadcast #вакансия
В Jetpack делают KMP API для обработки системных жестов нажатия назад или Predictive Back
Новая библиотека Jetpack NavigationEvent содержит в себе API для обработки нажатия назад или для отслеживания прогресса жеста назад. API cхоже с Dispatcher которое было сделано для Back ранее. Поддерживаются KMP таргеты: Android, Desktop/JVM, iOS, JS, Linux, WASM, watchOS, tvOS, Ming
ComponentActivity реализует интерфейс
В Android Activity можно подписаться на обработку события
#android #jetpack #навигация #kmp #kotlin
Новая библиотека Jetpack NavigationEvent содержит в себе API для обработки нажатия назад или для отслеживания прогресса жеста назад. API cхоже с Dispatcher которое было сделано для Back ранее. Поддерживаются KMP таргеты: Android, Desktop/JVM, iOS, JS, Linux, WASM, watchOS, tvOS, Ming
ComponentActivity реализует интерфейс
NavigationEventDispatcherOwner
:interface NavigationEventDispatcherOwner {
val navigationEventDispatcher: NavigationEventDispatcher
}
NavigationEventDispatcher
представляет собой класс, для передачи системны событий Назад:class NavigationEventDispatcher(
private val fallbackOnBackPressed: (() -> Unit)?,
private val onHasEnabledCallbacksChanged: ((Boolean) -> Unit)?,
)
// Добавления callback чтобы слушать когда произйдет нажатие "Назад"
fun addCallback(
callback: NavigationEventCallback,
priority: NavigationEventPriority = NavigationEventPriority.Default
)
fun dispatchOnStarted(event: NavigationEvent)
fun dispatchOnProgressed(event: NavigationEvent)
fun dispatchOnCompleted()
fun dispatchOnCancelled()
}
В Android Activity можно подписаться на обработку события
class MyActivity : ComponentActivity() {
init {
navigationEventDispatcher.addCallback(
callback = object : NavigationEventCallback(
isEnabled = true,
priority = NavigationEventPriority.Default
) {
override fun onEventCompleted() {
// Back сделан
}
},
priority = NavigationEventPriority.Default
)
}
}
#android #jetpack #навигация #kmp #kotlin
Media is too big
VIEW IN TELEGRAM
У больших приложений с большой аудиторией встречается множество различных крешей. Особенно если приложение активно работает с графикой. И среди обычных крешей с понятным стектрейсом периодически появляются креши, связанные с нехваткой памяти.
Доклад — о том, когда стектрейс нам поможет, а когда — нет. В докладе разбираемся, на что смотрит система при выборе процесса, который она хочет завершить ради освобождения памяти. Углубляемся в детали, как работает память. И как правильно ее считать. А также рассматриваем очевидные и не очень способы поиска проблем с памятью.
📃 Презентация
#android #mobius
Please open Telegram to view this post
VIEW IN TELEGRAM