Я пытаюсь перевести мое приложение на архитектуру Single Activity с компонентом Navigation.
В версии Multi Activity, когда пользователь запускает приложение, он попадает в SplashScreen
Activity, где приложение выполняет некоторые сетевые операции (устройство зарегистрировано, пользователь проверен, ...). Когда все это завершено, он переходит к содержанию Activity.
В версии Single Activity мне нужно создать фрагмент SplashScreen, чтобы сделать то же самое, но я не хочу его создавать. Эта операция выполняется слишком быстро (~ 1 с), мне не нужен фрагмент к ней, теперь я хочу сделать свой фрагмент содержимого (созданный из содержимого Activity) похожим на начальный фрагмент назначения, и просто показать загрузчик на нем, пока все «начальные» происходит работа сети.
Кажется, что нет проблемной ситуации, но проблема в том, что мне нужно взять мой код из SplashScreen
и поместить его в контент Фрагмент, но это не очень хорошее место для него. Фрагмент контента слишком велик, и иногда он воссоздается, поэтому мне нужно создать флаги, чтобы показать, что я не хочу снова выполнять свои «начальные» операции.
Так как это сделать наилучшим образом? Или мне нужно создать SplashScreenFragment
?
Моя идея - разместить этот код на MainActivity
, но я не совсем понимаю, как заставить его работать. Мне нужно показать загрузчик по фрагменту контента и как-то создать ситуацию, когда «все начнёт работать» только после того, как исходный код на MainActivity
закончится.