2017-11-29 4 views
0

と呼ばれることはありません。私は最初の行にブレークポイントを持つデバッグモードで実行し、何も起こりません。以前はこれは問題ではありませんでしたが、現在はvalueEventListenerを使用していません。私は.addValueEventListenerに切り替えて、データベース上で変更しようとしましたが、同じ結果が得られます。ValueEventListenersは、私は次のように私のFirebaseデータベースから特定の値を取得しようとしている

なぜ私のリスナーは呼び出されていませんか?

答えて

0

onCancelledコールバックが呼び出されますか?はいの場合は、DatabaseErrorをログに記録します。

また、ユーザーはFirebaseAuth経由でログインしていますか?これは、データベースから読み取るための要件です。

+0

onCancelledもトリガーされません。リスナーはユーザーがサインインされている場合にのみ追加され、それ以外の場合はコードを渡します。 –

0

これらの2つの方法には大きな違いがあります。あるメソッドを別のメソッドに変更することはできず、同じ動作が期待されます。

  1. addValueEventListener()それが結合しているクエリまたはデータベース参照を聞いキープ。
  2. addListenerForSingleValueEvent()はすぐにメソッドを実行した後に、それが添付されている参照場所のリッスンを停止した後にメソッドを実行します。

しかしonDataChange()方法は、各時刻そのデータ変更特定の位置にデータのスナップショットと呼ばれ、覚えています。変更がなければ、onDataChange()メソッドはトリガされません。

+0

'addListenerForSingleValueEvent()'は、アクティブな変更があっても、データの現在の状態を取得します。 'addValueEventListener()'を試したことを指定したのは、アイテムに長期的なリスナーがあって、それをトリガするために積極的に変更を加えていたことを明確にしたいからです。 –

+0

'addListenerForSingleValueEvent()'を使用している場合、一度も起動されません。 –

+0

それは正しいです。 –

関連する問題