
"Now in Android" с последними новостями Android разработки из Google от Chet Haase теперь стало доступно в видео формате
Size: a a a




ViewModel решена задача с сохранением данных при изменение конфигурации. Ранее состояние сохранялась пока жив процесс, но вот при его уничтожение системой способа сохранить данные "из коробки" не было. Теперь есть - SavedStateHandle
ViewModel. Раньше использовалась AndroidViewModelFactory на смену которой пришла SavedStateViewModelFactory. class MyActivity : Activity() { val vm: MyViewModel by viewModels()}class MyViewModel( savedState: SavedStateHandle) : ViewModel()
ViewGroup, предназначенная специально для размещения в ней Fragment. Она исправляет проблемы с анимациями при выполнение транзакций. Забудь о FrameLayout или <fragment>, теперь только FragmentContainerView.ViewModel по аналогии с Activity 1.1.0Fragment.onDestroyView() теперь вызывается только после окончания анимации/transitiongetViewLifecycleOwner()Fragment.getFragmentManager() переименовано в Fragment.getParentFragmentManager() FragmentManager теперь поддерживает операции (add/replace и др.) с Fragment по их классу, в дополнение к заранее созданному объекту. Это улучшает поддержку возможности по интеграции DI в конструктор Fragment.
Flow <-> LiveDataLiveDataCoroutineScope, связанный с Lifecycle. Он позволяет запускать Coroutine, когда Lifecycle достигнет определенного состояния с помощью launchWhenCreated, launchWhenResumed и launchWhenStartedLifecycleOwner и Lifecycle, которые позволяют дождаться заданного состояния Lifecycle: whenCreated, whenStarted, whenResumed, whenStateAtLeast (только для Lifecycle)ViewModelProviders.of() надо создавать ViewModelProvider через конструктор@OnLifecycleEvent используйте DefautLifecycleObserver.






Kotlin Flow - это реализация реактивных стримов на основе Coroutine, и естественно Android разработчики будут сравнивать ее к тому, чему уже привыкли - RxJava 2.RxJava Obserable и Coroutine Flow, а также миграции с первого подхода на последний.



if...else. На помощь может прийти решение Server Driven UI (SDUI), когда сервер управляет тем, что показать и как. Нечто подобное HTML, но SDUI - нативное и более ограничено в возможностях.

Activity/Fragment при смене конфигурации