#Activity #LaunchMode
The Android Launch Mode Animated CheatSheet от Todd Greenberg
Визуализация различного поведения Activity при запуске, если начнете играться с launch mode будет вам в помощь. Все сделано в анимашках и как минимум человек заслуживает 👏 в посте на Medium!
The Android Launch Mode Animated CheatSheet от Todd Greenberg
Визуализация различного поведения Activity при запуске, если начнете играться с launch mode будет вам в помощь. Все сделано в анимашках и как минимум человек заслуживает 👏 в посте на Medium!
Medium
The Android Launch Mode Animated CheatSheet
Before API 11, we used activities show every new page on the screen. Now with Fragments and the navigation tools in API 28, it’s totally…
#Lifecycle #ViewModel #Activity
The Android Lifecycle cheat sheet — part IV : ViewModels, Translucent Activities and Launch Modes
Четвертая часть в серии диаграмм жизненного цикла основных компонентов Android. В последней статье вы найдете информацию о жизненном цикле:
👉 ViewModel в Activity и Fragment
👉 Translucent Activity
👉 Activity в различных launch режимах: "single top" и "single task"
The Android Lifecycle cheat sheet — part IV : ViewModels, Translucent Activities and Launch Modes
Четвертая часть в серии диаграмм жизненного цикла основных компонентов Android. В последней статье вы найдете информацию о жизненном цикле:
👉 ViewModel в Activity и Fragment
👉 Translucent Activity
👉 Activity в различных launch режимах: "single top" и "single task"
#Activity #LaunchMode
The Android Launch Mode Animated CheatSheet
Хорошая статья с визуализацией (анимашки) того как работают Launch Mode в Activity (управление back stack Activity).
The Android Launch Mode Animated CheatSheet
Хорошая статья с визуализацией (анимашки) того как работают Launch Mode в Activity (управление back stack Activity).
Medium
The Android Launch Mode Animated CheatSheet
Before API 11, we used activities show every new page on the screen. Now with Fragments and the navigation tools in API 28, it’s totally…
#Activity #Architecture
ActivityLifecycleCallbacks — слепое пятно в публичном API
ActivityLifecycleCallbacks - это полезное API, которое позволит вам избавиться от супер класса для всех
👉 Изменять темы для всех
👉 Отловить
👉 Отслеживать запускаемый экраны для аналитики
👉 Улучшить inject зависимостей через Dagger Android
Если вам нужно отслеживать через callback жизненный цикл
ActivityLifecycleCallbacks — слепое пятно в публичном API
ActivityLifecycleCallbacks - это полезное API, которое позволит вам избавиться от супер класса для всех
Activity
, в котором вы выполняете общие действия, или элегантно решить архитектурную задачу или сделать много чего еще полезного, о чем автор рассказывает в статье:👉 Изменять темы для всех
Activity
👉 Отловить
onActivityResult()
👉 Отслеживать запускаемый экраны для аналитики
👉 Улучшить inject зависимостей через Dagger Android
Если вам нужно отслеживать через callback жизненный цикл
Fragment
, то вы можете использовать FragmentLifecycleCallbacks.Хабр
ActivityLifecycleCallbacks — слепое пятно в публичном API
С детства я люблю читать инструкции. Я вырос, но меня до сих пор удивляет то, как взрослые люди безалаберно относятся к инструкциям: многие из них считают, что...
#Jetpack #Activity #ViewModel
Activity 1.1.0
Важным изменением в новой версии Activity стала изменение используемой по умолчанию фабрики для создания
Теперь вы можете получить SavedStateHandle в конструкторе ViewModel, например
Activity 1.1.0
Важным изменением в новой версии Activity стала изменение используемой по умолчанию фабрики для создания
ViewModel
. Раньше использовалась AndroidViewModelFactory на смену которой пришла SavedStateViewModelFactory. Теперь вы можете получить SavedStateHandle в конструкторе ViewModel, например
class MyActivity : Activity() {
val vm: MyViewModel by viewModels()
}
class MyViewModel(
savedState: SavedStateHandle
) : ViewModel()
#Fragment #Activity
Смерть startActivityForResult объявлена в Fragment 1.3.0 и Activity 1.2.0
Стандартный механизм для получения результата из Activity (например Uri сделанного фото) - это Activity.startActivityForResult. API не самое удобное и заставляющее писать кучу кода, но теперь нас ждет улучшение.
В следующей стабильной версии появляется API ActivityResultRegistry, которое будет инкапсулировать в себе работу с
Попробовать изменения можно в Fragment 1.3.0 Alpha 02 и Activity 1.2.0 Alpha 02
Смерть startActivityForResult объявлена в Fragment 1.3.0 и Activity 1.2.0
Стандартный механизм для получения результата из Activity (например Uri сделанного фото) - это Activity.startActivityForResult. API не самое удобное и заставляющее писать кучу кода, но теперь нас ждет улучшение.
В следующей стабильной версии появляется API ActivityResultRegistry, которое будет инкапсулировать в себе работу с
startActivityForResult()
+ onActivityResult()
, а также requestPermissions()
+ onRequestPermissionsResult()
. Добавить работу с получением результата можно будет в любой класс, API гибкое и предоставляет такие возможности.Попробовать изменения можно в Fragment 1.3.0 Alpha 02 и Activity 1.2.0 Alpha 02
Android Developers
Getting a result from an activity | Android Developers
#Activity
Deep Dive into Activity Results API — No More onActivityResult()
Новая версия библиотеки androidx.activity (1.2.0) принесет нам отключение onActivityResult() в пользу нового API Activity Results API. Причем уже до релиза стабильной версии документация уже переехала на новый способ.
В статье вы найдет подробный разбор с новым API:
👉 ActivityResultContract и как его использовать
👉 Встроенные ActivityResultContract: TakePicture, GetContent и др.
👉 Запрос системных permission: RequestPermission и RequestMultiplePermissions
Deep Dive into Activity Results API — No More onActivityResult()
Новая версия библиотеки androidx.activity (1.2.0) принесет нам отключение onActivityResult() в пользу нового API Activity Results API. Причем уже до релиза стабильной версии документация уже переехала на новый способ.
В статье вы найдет подробный разбор с новым API:
👉 ActivityResultContract и как его использовать
👉 Встроенные ActivityResultContract: TakePicture, GetContent и др.
👉 Запрос системных permission: RequestPermission и RequestMultiplePermissions
Medium
Deep Dive into Activity Results API — No More onActivityResult()
Learn New ActivityResultContracts by Examples
#Activity #Fragment
BaseActivity and BaseFragment are monsters
Y вас есть
👉 Наследование от классов из Jetpack
👉 Extension-функции
👉 ActivityResultContract
👉 Lifecycle callback
BaseActivity and BaseFragment are monsters
Y вас есть
BaseActivity
и BaseFragment
в проекте? Если да - вам стоит обратить внимание на статью, где автор рассказывает что это за монстры и как их избегать:👉 Наследование от классов из Jetpack
👉 Extension-функции
👉 ActivityResultContract
👉 Lifecycle callback
Medium
BaseActivity and BaseFragment are monsters
An old tale of composition over inheritance, sort of!
#Activity
Improving inter-activity communication with Jetpack ActivityResult
В ближайшем релизе
Самое важное еще - все гайды с получением результата уже переписаны на новое API, а
Improving inter-activity communication with Jetpack ActivityResult
В ближайшем релизе
androidx.activity
нас ждёт замена onActivityResult() на новое API - Activity Result API. Вместо хранения requestCode
, понимание правильно resultCode
вы теперь просто делаете запрос и получаете результата.Самое важное еще - все гайды с получением результата уже переписаны на новое API, а
onActivityResult()
будет deprecatedAndroid Developers Blog
Improving inter-activity communication with Jetpack ActivityResult
Posted by Yacine Rezgui , Developer Advocate Whether you're requesting a permission, selecting a file from the system file manager, or...
#Activity
Understanding the Android Activity Launch Modes
Годы разработки привели нас к Jetpack Compose и возможному отказу от Fragment. Что останется вечным - Activity. В статье разбирается как есть режиме запуска Activity и как они влияют на Task т.е. Back Stack Activity.
Understanding the Android Activity Launch Modes
Годы разработки привели нас к Jetpack Compose и возможному отказу от Fragment. Что останется вечным - Activity. В статье разбирается как есть режиме запуска Activity и как они влияют на Task т.е. Back Stack Activity.
#activity #coroutines
Consuming Activity Results using coroutines: Part 1
Адаптация Activity Result API для работы с ними через Coroutine, чтобы убрать необходимость в Callback
Если не знаете что такое Activity Result API, то я сделал видео где подробно об этом рассказал и показал как применять. Смотреть здесь
Consuming Activity Results using coroutines: Part 1
Адаптация Activity Result API для работы с ними через Coroutine, чтобы убрать необходимость в Callback
Если не знаете что такое Activity Result API, то я сделал видео где подробно об этом рассказал и показал как применять. Смотреть здесь
В Jetpack уже практически отказались от Activity как точки переопределения системных callback методов. Появился OnBackPressedDispatcher, MenuProvider, ConfigChangeListener и др.
Об Activity Result API я сделал полезный разбор из 2 частей:
📺 применение в коде ваших приложений (22 мин)
📺 как оно работает под капотом на основе Activity.onActivityResult (12 мин)
#AndroidBroadcast #activity #jetpack
Об Activity Result API я сделал полезный разбор из 2 частей:
📺 применение в коде ваших приложений (22 мин)
📺 как оно работает под капотом на основе Activity.onActivityResult (12 мин)
#AndroidBroadcast #activity #jetpack
👍51👎11❤🔥8
В Activity 1.9.2 и Fragment 1.8.3 внесли правки для лучше работы с Predictive Back Gesture
#jetpack #activity #fragment
#jetpack #activity #fragment
👍17👎8🎉5
👉 Изменение размера панелей теперь поддерживается из коробки
val splitAttributesBuilder: SplitAttributes.Builder = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.33f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT)
if (WindowSdkExtensions.getInstance().extensionVersion >= 6) {
splitAttributesBuilder.setDividerAttributes(
DividerAttributes.DraggableDividerAttributes.Builder()
.setColor(getColor(context, R.color.divider_color))
.setWidthDp(4)
.setDragRange(
DividerAttributes.DragRange.DRAG_RANGE_SYSTEM_DEFAULT)
.build()
)
}
val splitAttributes: SplitAttributes = splitAttributesBuilder.build()
👉 Управление затемнением интерфейса под диалогом диалога
👉 Возможность закрепить Activity Task (набор Activity) по id в части экрана
fun pinActivityStackExample(taskId: Int) {
val splitAttributes: SplitAttributes = SplitAttributes.Builder()
.setSplitType(SplitAttributes.SplitType.ratio(0.66f))
.setLayoutDirection(SplitAttributes.LayoutDirection.LEFT_TO_RIGHT)
.build()
val pinSplitRule = SplitPinRule.Builder()
.setDefaultSplitAttributes(splitAttributes)
.build()
SplitController.getInstance(applicationContext)
.pinTopActivityStack(taskId, pinSplitRule)
}
#jetpack #ui #material #activity
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7👍6