Size: a a a

StartAndroid Ru RxJava

2020 November 25

S

Syncended in StartAndroid Ru RxJava
В любом случае - у viewModel вызываешь публичный метод, в ней уже кидаешь запрос
источник

VD

Victor Dobrov in StartAndroid Ru RxJava
Иван Чепёлкин
Для чего ? Сохранить или отправить?
мне нужно  будет из  активити список отправить во вью модель а она  дальше  в репозиторий и тп
источник

ИЧ

Иван Чепёлкин... in StartAndroid Ru RxJava
Syncended
а вот из vm уже через liveData)
Не согласен. Live data только на уровне presentation. Дальше уже rx
источник

ИЧ

Иван Чепёлкин... in StartAndroid Ru RxJava
Victor Dobrov
мне нужно  будет из  активити список отправить во вью модель а она  дальше  в репозиторий и тп
Дак зачем в репозиторий? Что ты там с этими данными делаешь? Это важно
источник

S

Syncended in StartAndroid Ru RxJava
Ну я про то, что liveData - для передачи данных из vm в activity
источник

VD

Victor Dobrov in StartAndroid Ru RxJava
Иван Чепёлкин
Дак зачем в репозиторий? Что ты там с этими данными делаешь? Это важно
если с самого начала
то я получаю список элементов из ретрофит
 вывыожу на экран активити,  
 отмечаю  какие то конкретные элементы
 они заносятся в список,  этот список я отправляю  обратно в ВМ
из ВМ в репозиторий, из репозитория в рум,   и далее при нажатии на кнопку в активити,  обновляется экран .и выводятся  сохраненные элементы
источник

VD

Victor Dobrov in StartAndroid Ru RxJava
и вот я не совсем понимаю как мне из активити передать это все  в рум
источник

ИЧ

Иван Чепёлкин... in StartAndroid Ru RxJava
Ну так сразу бы
источник

ИЧ

Иван Чепёлкин... in StartAndroid Ru RxJava
Короч, вызываешь публичный метод вьюмодели  и отправляешь список . Дальше делаешь Complitable из вью модели и через все слои сохраняешь данные в рум. Когда все сохранится - вызовиься колбэк комплит и тут уже можешь показать свою кнопку для обновления активити
источник

S

Syncended in StartAndroid Ru RxJava
vm:
fun process(elements: List<Element>) {
repository.processElements(elements)
.subscribeOn(Schedulers.IO)
.subscribe(::handleSuccess, ::handleError)
}

activity:
processButton.setOnClickListenner { _ ->
viewModel.process(selectedElements)
}
источник

VD

Victor Dobrov in StartAndroid Ru RxJava
Спасибо  ребята!
источник
2020 November 30

S

Shieldy in StartAndroid Ru RxJava
Кучкоров.А.А, please, press the button below within the time amount specified, otherwise you will be kicked. Thank you! (60 sec)
Powered by Todorant
источник

Д

Денис in StartAndroid Ru RxJava
Добрый вечер. Я новичок в rx. Помогите, разобарться. Я понял, как мне работать с одноим итемом, а как можно красиво сделать, если мне нужно создать много подписок.
Допустим, раньше мне нужно было по ид юзера подписаться на его обновления. Делал я это примерно так:
observeUser(Id)
Теперь есть список айдишников, нужно подписаться на них, но сам observable не расширять для списка, а использовать именно этот, принимающий одно число. Надеюсь, ясно сформулировал
источник

ES

Egor Sigolaev in StartAndroid Ru RxJava
Денис
Добрый вечер. Я новичок в rx. Помогите, разобарться. Я понял, как мне работать с одноим итемом, а как можно красиво сделать, если мне нужно создать много подписок.
Допустим, раньше мне нужно было по ид юзера подписаться на его обновления. Делал я это примерно так:
observeUser(Id)
Теперь есть список айдишников, нужно подписаться на них, но сам observable не расширять для списка, а использовать именно этот, принимающий одно число. Надеюсь, ясно сформулировал
Покажи метод observeUser(), что он вообще делает?
источник
2020 December 11

S

Sergey in StartAndroid Ru RxJava
Привет! Функция возвращает Maybe<List<Item>>.

Теперь следует преобразовать этот maybe в single. Если пришел пустой список - вернуть один single, если пришел  не пустой - другой сингл. А если в maybe ничего не нашлось по запросу - третий. Как это сделать?

flatMatSingle как понял не позволяет обработать ситуацию, когда по запросу нет ничего. Просто кинет ошибку. А toSingle позволяет, но без разбора, какой там список, пустой/не пустой.
источник

l

lenar in StartAndroid Ru RxJava
Sergey
Привет! Функция возвращает Maybe<List<Item>>.

Теперь следует преобразовать этот maybe в single. Если пришел пустой список - вернуть один single, если пришел  не пустой - другой сингл. А если в maybe ничего не нашлось по запросу - третий. Как это сделать?

flatMatSingle как понял не позволяет обработать ситуацию, когда по запросу нет ничего. Просто кинет ошибку. А toSingle позволяет, но без разбора, какой там список, пустой/не пустой.
что то вроде map.toSingleOrDefault
источник
2020 December 12

С

Сулейман in StartAndroid Ru RxJava
Привет, как тут лучше реализовать длительный запрос? клиент вк, получаю timeout exception когда нет ответа от сервера, его как то можно обработать, или сделать так, чтобы не было таймаута
источник

v

vorobyoff in StartAndroid Ru RxJava
Сулейман
Привет, как тут лучше реализовать длительный запрос? клиент вк, получаю timeout exception когда нет ответа от сервера, его как то можно обработать, или сделать так, чтобы не было таймаута
Есть такой паттерн, если его можно так назвать, враппер, по-моему, суть в том, что обернуть ответ в него и прикинуть до вью, а там уже каким-либо образом его обработать и оповестить юзера
источник

СП

Сергей Переходов... in StartAndroid Ru RxJava
Сулейман
Привет, как тут лучше реализовать длительный запрос? клиент вк, получаю timeout exception когда нет ответа от сервера, его как то можно обработать, или сделать так, чтобы не было таймаута
Кинь в computation pull
источник

v

vorobyoff in StartAndroid Ru RxJava
vorobyoff
Есть такой паттерн, если его можно так назвать, враппер, по-моему, суть в том, что обернуть ответ в него и прикинуть до вью, а там уже каким-либо образом его обработать и оповестить юзера
Заругли что то вроде, retrofit handle network exception
источник