2017-01-10 13 views
4

タイトルの通り、FirebaseのaddValueEventListener()addListenerForSingleValueEvent()の違いを知りたいと思います。firebaseのaddValueEventListener()とaddListenerForSingleValueEvent()の違い

+1

これはドキュメントに記載されていませんか? –

+0

私はそう思います..... –

+1

両方のリスナーは実際には[公式のドキュメント](https://firebase.google.com/docs/database/android/read-and-write#listen_for_value_events)に詳しく記載されています。 **値イベントを聴く**と**データを一度読み** **セクション – Wilik

答えて

15

addValueEventListener()それが添付されているクエリまたはデータベース参照を引き続き聞きます。

しかし、addListenerForSingleValueEvent()はすぐにonDataChangeメソッドを実行し、そのメソッドを一度実行した後に、そのメソッドがアタッチされている参照位置のリッスンを停止します。

+0

だから、私が聴いていたいなら、私はaddValueEventListener()を使う必要があります。 –

+0

はい。広告が必要ないときにリスナーを削除する必要があります。 たとえば、OnCreate()でリスナーを追加すると、OnDestroy()でリスナーを削除することをお勧めします。 –

+1

私はそれらをコードで試してみましたが、次のaddListenerForSingleValueEvent()に気付きました。値の値を2回以上取得すると、たとえば、console.firebase.google.com/any/any/database/data/のrefrenceに直接datasnapshotが渡されます。これは、datasnapshotはkey = this、value =その子、addValueEventListene、key =これの子とvlaue =キーの子の子だから、私に説明したり、もう一度答えを見直してください。 –

関連する問題