Size: a a a

Android Developers

2021 November 26

AK

Alexandr Kulikov in Android Developers
А в твоей архитектуре он стучится в дата слой через геттер внутри вьюмодели
источник

K

Kasem in Android Developers
он и не взаимодействует. network это репозитория для работы с сетью. Или я вас не понял
источник

AK

Alexandr Kulikov in Android Developers
Я правильно тебя понял, что схема следующая:
Фрагмент -> вьюмодель ->  (дёргаем геттер) -> репозиторий (по геттеру отдает лайвдату)
источник

AK

Alexandr Kulikov in Android Developers
?
источник

K

Kasem in Android Developers
Фрагмент -> вьюмодель ->  (дёргаем геттер) -> репозиторий
да
источник

AK

Alexandr Kulikov in Android Developers
Тогда неправильно
источник

AK

Alexandr Kulikov in Android Developers
Репозиторий не должен знать о лайвдате, это уже слой ведра, который на данном слое абстракции существовать не должен
источник

AK

Alexandr Kulikov in Android Developers
И что ты планируешь делать, когда сети не будет? Как ошибки обрабатываешь?
источник

K

Kasem in Android Developers
SomeViewModel : ViewModel(){
val newsLiveData = LiveData<News>()

newsLiveData.postValue(network.getNews())
}

NewsFragment{
viewModel.newsLveData
}

типа так имеете ввиду ?
источник

AK

Alexandr Kulikov in Android Developers
+/-, ща набросаю в гисте
источник

K

Kasem in Android Developers
viewModel.listNoticeList.observe(viewLifecycleOwner, {
           val data = it.data
           when (it.status) {
               Status.SUCCESS -> {
                   binding.notificationRv.adapter = NoticeAdapter(data?.result!!) {
                       router.navigateTo(Screens.NoticeDetailScreen(it))
                   }
               }
               Status.ERROR -> {
                   toast("notice error ${data!!.error?.code}")
               }
               Status.NETWORK -> {
                   toast("Проблемы с подключением")
               }
           }
       })
   }

в репо делаю emit Status(data, success)  и тд
источник

AK

Alexandr Kulikov in Android Developers
У тебя mvi, что ли?
источник

K

Kasem in Android Developers
нет, мввм обычный
источник

AK

Alexandr Kulikov in Android Developers
Хм
источник

K

Kasem in Android Developers
буду благодарен
источник

AK

Alexandr Kulikov in Android Developers
Используешь корутины, или Rx?
источник

K

Kasem in Android Developers
LiveData. Когда в репо с сервера ответ приходит делаю emit
источник

AK

Alexandr Kulikov in Android Developers
Лан, ща
источник

K

Kasem in Android Developers
источник

AK

Alexandr Kulikov in Android Developers
источник