Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
Show more📈 Analytical overview of Telegram channel Android Broadcast
Channel Android Broadcast (@android_broadcast) in the Russian language segment is an active participant. Currently, the community unites 14 583 subscribers, ranking 8 750 in the Technologies & Applications category and 45 369 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 583 subscribers.
According to the latest data from 10 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 39 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 44.92%. Within the first 24 hours after publication, content typically collects 23.72% reactions from the total number of subscribers.
- Post reach: On average, each post receives 6 551 views. Within the first day, a publication typically gains 3 459 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 42.
- Thematic interests: Content is focused on key topics such as api, kotlin, gradle, сборка, androiddev.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
Thanks to the high frequency of updates (latest data received on 11 July, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
package main
import "fmt"
func main() {
fmt.Println("Поздравляем с Днём разработчика! 🎉")
#frontend #backend #go #tl// Требуется, чтобы окно учитывало желаемый HDR headroom.
// Обратите внимание, что эквивалентный API в SurfaceView НЕ требует
// COLOR_MODE_HDR для ограничения headroom,
// если на SurfaceView отображается HDR-контент.
window.colorMode = ActivityInfo.COLOR_MODE_HDR
// Иллюстративные значения: разные значения headroom
// могут использоваться в зависимости от
// желаемого headroom контента
// И особенностей UI-дизайна приложения.
window.desiredHdrHeadroom = when {
/* только SDR */ -> 0f
/* Смешанный, в основном SDR */ -> 1.5f
/* Смешанный, в основном HDR */ -> 3f
/* только HDR */ -> 5f
else -> 0f
}
#android #hdr #android15androidx.camera:camera-compose - работа с камерой в Compose UI
🛠 Исправление багов
// Пример View Finder в Compose
val currentSurfaceRequest: SurfaceRequest? by viewModel.surfaceRequests.collectAsState()
currentSurfaceRequest?.let { surfaceRequest ->
// CoordinateTransformer for transforming from Offsets to Surface coordinates
val coordinateTransformer = remember { MutableCoordinateTransformer() }
CameraXViewfinder(
surfaceRequest = surfaceRequest,
implementationMode = ImplementationMode.EXTERNAL, // Can also use EMBEDDED
modifier =
modifier.pointerInput(Unit) {
detectTapGestures {
with(coordinateTransformer) {
val surfaceCoords = it.transform()
viewModel.focusOnPoint(
surfaceRequest.resolution,
surfaceCoords.x,
surfaceCoords.y
)
}
}
},
coordinateTransformer = coordinateTransformer
)
}
#android #камера #jetpack #composeandroid.testOptions.unitTests.includeAndroidResources
#android #тестирование// Добавляем в gradle.properties
android.r8.optimizedResourceShrinking=true
#android #оптимизацияas-приведения? 🤔
Вот пример, который недавно попался мне на глаза:
class Sample(private val activity: Activity) {
fun doSomething() {
// Опасно! Может упасть с ClassCastException,
// если activity не реализует LifecycleOwner
(activity as LifecycleOwner).lifecycle.addObserver(...)
}
}
Опустим тот факт, что здесь стоит использовать слабую ссылку (WeakReference) на Activity. Меня больше смутила необходимость вручную приводить Activity к LifecycleOwner.
Да, в современной Android-разработке AppCompatActivity и FragmentActivity реализуют этот интерфейс. Но наша цель — писать чистый и стабильный код, который не полагается на слепую веру, а гарантирует безопасность на уровне типов.
Решение: Ограничение типов с помощью where
В Kotlin мы можем использовать условие where для универсальных параметров, чтобы указать: «класс A должен быть *одновременно* и Activity, и LifecycleOwner».
class Sample<A>(private val activity: A)
where A : Activity,
A : LifecycleOwner {
fun doSomething() {
// Теперь activity можно использовать как LifecycleOwner
// БЕЗОПАСНО и без приведения типов
activity.lifecycle.addObserver(...)
}
}
Этот же подход отлично работает и для функций:
fun <A> doSomethingWith(activity: A)
where A : Activity,
A : LifecycleOwner {
// Полная типобезопасность
activity.lifecycle.addObserver(...)
}
В чем выигрыш?
1. Безопасность: Компилятор гарантирует, что в класс Sample или функцию doSomethingWith можно передать только объект, который удовлетворяет обоим условиям. Исключаются ошибки ClassCastException в рантайме.
2. Чистота кода: Исчезают громоздкие и опасные приведения через as.
3. Выразительность: Сигнатура класса/функции явно сообщает о своих требованиях к переданным зависимостям.
Используйте силу системы типов Kotlin на полную! Это делает код не только чище, но и стабильнее. 💪
#kotlin #android #androiddevANDROID10 получите ещё -10% сверху!
Обновите рабочее место и почувствуйте, как работать становится легче и эффективнее.
👉 ergostol.ru
Реклама. ООО «СОФТЭФФЕКТ», ИНН 7735575262