-
Notifications
You must be signed in to change notification settings - Fork 7
28 homework #45
base: main
Are you sure you want to change the base?
28 homework #45
Conversation
AleksandrKalevich
commented
May 30, 2022
import retrofit2.http.GET | ||
import retrofit2.http.Query | ||
|
||
object RetrofitBuilder { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Синглтон это антипаттерн. Сделай класс (В идеале с интерфейсом) + inject через koin (single)
|
||
override fun onCreate() { | ||
super.onCreate() | ||
runBlocking { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Нужно создать свою coroutineScope, чтобы не вызывать runBlocking и не блокировать main поток.
CoroutineScope(SupervisorJob() + Dispatchers.Main)
class HostFragment: Fragment() { | ||
|
||
private lateinit var fragment: HostFragmentBinding | ||
private val albumsFragment = AlbumsFragment() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Создавать фрагмент нужно только, когда savedInstanceState == null. В другом же случае, фрагмент уже будет и его нужно найти при помощи findFragmentByTag("tag"). Тут при смене конфигурации будет 2 фрагмента в памяти. bundle тоже как глобальную переменную лучше не держать. К ней есть доступ через albumsFragment.arguments