Closed taratara10 closed 2 years ago
https://kt.academy/article/cc-flow-combine
topicとfavoriteをmergeするのかな どこで購読開始すればええんやろ
あ~~~ topicはそもそもfavoriteを持っていないのが正なのか。そうだね。ドメイン的に。
ので、UiStateに合流するときにはじめてやればいい。 repositoryにfavのFlowを用意しておいて、viewModelでmergeが良さそう。
クラス設計が間違っていた。
てことは、favoriteRepository作った方がよいかしら
うーんわわからん。
RoomでStateFlow返す情報ないけど、できないんか? Flowの情報ならある。 Flow -> StateFlowはstateIn()使えばいけるけど、coroutineScopeひつようなので、repository向きではない。
そもそもrepositoryにflowを持つのが間違いでは?
TopicとMyTopic(fav付き)でアカウントごとのあれを作ればええやろという天啓を得た
https://developer.android.com/training/data-storage/room/relationships?hl=ja#one-to-many
one-to-manyだけど、ローカルはまぁ単一ユーザーなので、Userに加えて追加のがいいのかな
UserDB残した方がええんやろか 多分使うだろうし残しとくか。
topicが
myTopicが
になるのか
roomDatabaseってmultipleで作った方がええんか?
そのうちUserとmugrateするので、一緒で良さそう
これ、topicRepositoryに自前のStateFlowで管理してるけど、すべてMyTopicにした方が良さそうね
MyTopicからStateFlow or Flowでほしい
https://developer.android.com/training/data-storage/room/async-queries?hl=ja
あ~~~~ RoomはFlowしか対応してないのか not StateFlow
inStateはcoroutineScopeいるから確かにな~~~ というか、改めてKotlinの言語としてCoroutinesサポートしてんの偉すぎるな
custom data type 使うには
KMMまで見据えると、プリミティブのがいいんだろうか そもそもiOSはRoomなくて、どうやってローカルDB使ってるの?
myTopicのfavを変更したらFlowで変更を受け取りたい
Flow<List
つまり現状、getTopic + addTopic + StateFlow で表現してるけどこれではない
一撃で行ける仕組みを作ろうとすると難しい Roomは十分高速なのでn- strokeになってもパフォは変わらんので愚直にシンプル実装しよう 問題は起こってから考えよう
useCase作った方が良さそう
Flowをマージすればええんかな
命名はMyTopicじゃなくて、TopicEntityのが良かったな
むずい フローを整理しよう
getTopic: Flow
addTopic
shouldAddTopic: Boolean
UIに表示するidのリストはアプリで保持しよう
shouldAdd
Firesotoreのsnapshotはofflineでもキャッシュにためてくれるらしい、偉い
splatoonやってたので、全て忘れた
話がとっ散らかってるから、wikiでやろ
で、ドメイン整理したら、Userいらないねの話になったので、これはclose
42 でUserはまだ不要なので、Favoriteに作り変えます