cozyk100
@cozyk100 (cozy k100)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Android、Kotlin、coroutine、viewmodel、roomでobeserverパターンじゃなきゃダメ?

解決したいこと

Android、Kotlin、coroutine、viewmodel、roomでアプリを作成しています。
画面にコンボ(spinner)があって、そのspinnerに表示すべき内容のkey、valueはDB(SQLite)に持っています。
この、spinnerに表示すべき内容のkey、valueはこのActivity起動中は不変なので、起動時にroomで一度だけ取ってきて、spinnerに表示すればよいです。

このような場合でも、Flow、LiveDataを使ったobserverパターンじゃないといけないのでしょうか?
(基本、変更ないんだからobserverパターンじゃなくてもいいんじゃないか?)

  • viewModelScope.launch
  • async
  • await

の組み合わせでできるかと思ったのですが、なかなかうまくいかず、MainActivityのspinnerにroomで取ってきたkey、valueの一覧を渡すことができません。

こういった場合のベストプラクティスがあれば教えていただきたいです。

環境

AndroidStudio Electric Eel 2022.1.1
Android R 11 (API 30)
Kotlin 1.8.0
coroutine 1.6.4
room 2.5.0
lifecycle components 2.5.1
viewmodel 1.6.1

0

No Answers yet.

Your answer might help someone💌