StartAndroid
10.7K subscribers
371 photos
10 videos
5 files
1.75K links
Канал об Android (Андроид) разработке

Сайт - http://startandroid.ru

Чат - https://tttttt.me/startandroidchat

Контакты - https://startandroid.ru/ru/about/cntct5.html

Реклама - https://startandroid.ru/ru/about/reklama.html
Download Telegram
Сводка последних новостей от JetBrains:

Product News
- Compose Multiplatform 1.6.0 – resources, UI testing, iOS accessibility, and preview annotation
- Amper update – February 2024
- The Ktor roadmap for 2024

Survey
- Configuration Language Survey – help shape the future of build configurations

Google Summer of Code
- Become a Kotlin Google Summer of Code contributor and make an impact!

Advent of Code in Kotlin
- Celebrating our participants and their solutions

Livestream Recordings
- Strategies for successful conference talks
- Data analytics with Kotlin notebooks

Education
- Learn to refactor using your IDE for better Kotlin code

#android #kotlin #jetbrains #compose

https://blog.jetbrains.com/kotlin/2024/03/kotlin-roundup-feb-march-24/
Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI/UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

#android #design #ux #compose

https://habr.com/ru/articles/798473/
Новый Compose урок по теме - Input.

Используем функцию awaitPointerEvent для отслеживания простых событий типа click, swipe и long press.

Рассматриваем прочие await* функции: awaitFirstDown, awaitLongPressOrCancellation, awaitDragOrCancellation, waitForUpOrCancellation, awaitEachGesture.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый Compose урок по теме - Input.

Разбираемся что такое Consumed статус. Используем его в своем обработчике кликов с прошлых уроков. Это позволит корректно ловить клики, когда один Box находится над другим.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Разбираемся, как событие проходит через компоненты 3 раза, и как это можно использовать.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Разбираемся, как под капотом работают Indication и InteractionSource.

Создаем различные кастомные визуальные индикации клика, в том числе и свой разноцветный Ripple.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
В Navigation 2.8.0-alpha08 поменяли способ формирования графа в Navigation Compose. Вместо строки route теперь используется класс. В него же можно помещать аргументы.

#navigation #compose

https://medium.com/androiddevelopers/navigation-compose-meet-type-safety-e081fb3cf2f8
This media is not supported in your browser
VIEW IN TELEGRAM
Новый Compose урок по теме - Input.

Вернее, даже два урока.

Первый - небольшой, в нем рассматриваем detect* функции: detectTapGestures, detectDragGestures и detectTransformGestures.

А во втором рассматриваем Modifier операторы: draggable, draggable2D, anchoredDraggable и transformable. А также подробно рассматриваем nestedScroll, с помощью которого можно получить эффект, как на видео.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Видео о том, как Compose Multiplatform работает на iOS:

- Definition of what performance is and what our goals are
- Overview of Compose Multiplatform machinery and how it works on iOS
- Summary of interesting problems we had and how we overcame them

#compose #ios #multiplatform

https://www.youtube.com/watch?v=Df1ZCmmHWzM
На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос.

Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.

К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Navigation и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.


#android #compose #navigation #security

https://habr.com/ru/companies/swordfish_security/articles/830338/
Обзор Compose компонентов из Material 3 Adaptive, которые помогают создавать UI под разные размеры экранов.

#android #ui #adaptive #compose

https://www.youtube.com/watch?v=xPUZENis4gc
Возвращаемся к урокам по Compose после летних каникул.

Новая важная тема - Stability. В первом уроке разбираемся, что это такое и зачем вообще нужно.

Подключим compiler metrics отчеты, чтобы видеть, какие классы компилятор считает stable/unstable, а какие функции - skippable.

Используем аннотацию Immutable, чтобы увидеть, как можно сломать Stability.

В качестве примеров пока используем примитивы и data классы.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Рассуждения на тему, где и в какой момент лучше загружать данные: LaunchedEffect или ViewModel.init()

#android #kotlin #compose #architecture

https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62
Новый урок по Compose

Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый урок по Compose

Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Новый урок по Compose.

Краткий обзор основных инструментов для работы с Compose: Preview, Live Edit, Layout Inspector, Debug, Trace.

Тема простая, материала по ней много, поэтому я не стал много расписывать.

#android #course #compose

https://startandroid.ru/ru/courses/compose.html
Автор попытался создать ViewModel со временем жизни Composable функции. Штука, может и ненужная, но интересная, чтобы лучше понимать и Compose и ViewModel.

#android #compose #viewmodel #lifecycle

https://proandroiddev.com/composable-scoped-viewmodel-an-interesting-experiment-b982b86d84cd