Size: a a a

Android Developers

2021 December 31

M

Mafioznik in Android Developers
вот и хочу понять вдруг я в юайном треде это все делаю
источник

В

Виктор in Android Developers
Сами данные автоматически в другом треде получаются. Фишка рума. Но ваш билдер тут не нужен абсолютно. Просто прокидывайте данные как fun getValues() = repo.getSomething()
источник

M

Mafioznik in Android Developers
и даже IO вручную не нужно ставить?
источник

В

Виктор in Android Developers
Безо всяких map/transform/filter/etc - нет. Все само. LiveData тоже под капотом так же работает для Room. Точнее это рум так все делает для реактивных потоков.
источник

M

Mafioznik in Android Developers
кстати ровно такой же пример, но уже с преобразованиями - просто так написать не дает
источник

В

Виктор in Android Developers
Скиньте, как найдете
источник

M

Mafioznik in Android Developers
Suspend function 'example' should be called only from a coroutine or another suspend function
источник

M

Mafioznik in Android Developers
но если засунуть это в flow { } то проблем нет
источник

В

Виктор in Android Developers
Потому что все, что в теле флоу-билдера, исполняется внутри корутины
источник

M

Mafioznik in Android Developers
тогда на каком оно треде то?
источник

В

Виктор in Android Developers
Я уже писал вам. Даже дважды
источник

В

Виктор in Android Developers
источник

M

Mafioznik in Android Developers
колектор прямо в этом флоу первый и потом этот флоу коллектить компоуз
источник

M

Mafioznik in Android Developers
2 коллектора получается
источник

M

Mafioznik in Android Developers
Вот как компоуз колектит
источник

M

Mafioznik in Android Developers
На всякий случай продублирую пример

fun getValues() = flow {
  repo.getSomething().collect {
     emit(it)
  }
}
источник

В

Виктор in Android Developers
Это уже его заморочки. Они мне малопонятны, так как не юзал компоуз
источник

В

Виктор in Android Developers
Если брать чисто этот ваш пример, то два коллектора неоправданны
источник

M

Mafioznik in Android Developers
без колектора говорит

Not enough information to infer type variable T
источник

В

Виктор in Android Developers
Ну дайте явный тип. Хотя странно это.
источник