web-dev-qa-db-ja.com

SingleLiveEventは実際にAndroidアーキテクチャコンポーネントライブラリの一部ですか?

私は見つけることができるSingleLiveDataクラス here を使用しています。私の質問は:

  1. SingleLiveDataは実際にはAndroidアーキテクチャコンポーネントの一部ですか?

  2. それを使うのは良い考えですか?

9

ライブデータとその親/子の継承 を見ると、SingleLiveDataなどはありません。 @Raghuによって提供されたリンクを読んで、私はステートメントを見つけます:

SingleLiveEvent クラスは、特定のシナリオで機能するソリューションとしてサンプル用に作成されました。更新を1回だけ送信するLiveDataです。

だからあなたの質問に答えるには:

SingleLiveDataは実際にAndroidアーキテクチャコンポーネントの一部ですか?

いいえそうではありません!

それを使うのは良い考えですか?

これは多くの要因に依存します。私はそれを使ったことがないので、一般的な考えを示します。デモアプリなどで見つけたクラスを使用しても、更新またはバグ修正が保証されない場合があります。したがって、クラスを十分に理解して、発見したバグを修正できる場合、それがニーズに合っている場合は、それを使用してください。

しかし、一般に、よく管理されて同じ仕事をする何かを見つけることができれば、それは避けます。

記事をざっと眺めてみると、彼が何らかのオブザーバーパターンを作成しようとしているように見えるので、rxjavaをチェックすることをお勧めします。

7
Stefano Mtangoo

SingleLiveEventは実際にAndroidアーキテクチャコンポーネントライブラリの一部ですか?

いいえ、そうではありません: https://issuetracker.google.com/issues/12241311 。基本的に、公式の答えはです。「はい、通常のライブデータは十分ではなかったので、例で紹介しましたが、ライブラリに入れるにはハック過ぎです」

12
Ghedeon