2017-07-15 16 views
0

私はこのかなりの時間を探していて、私の問題に関連する答えは見つからなかったので、私の質問にタグを付ける前に少なくともそれを最初に読んでください。 まず最初にfirebaseを起動し、それについての基本的なことしか知りません。私は単純なシングルユーザ(1対1)のチャットアプリケーションを作ろうとしています。 データベースにログインしているユーザーの数を取得します。firebaseデータベースにログインしているユーザーの数を取得する方法(addValueEventListener()なし)?

は私がログインしているユーザーのリストを持っている私のデータベースと呼ばれるユーザーのルートに子を持っている。 i have a child to the root of my database called users which have the list of the users who have logged in. は私がdatashot.getchildrencount(知っている)が、いくつかのアップデート/イベントが発生したときにそれが動作しますが、しかし、私はそれが私の欲しいときにはいつでも、ユーザーの数を与えたいだけでなく、いくつかのイベントで(例えば、現在アクティブなユーザーのメッセンジャー番号では、継続的に表示されますが、 )。 私はNumberofUsersという名前の子を作るために別の方法を考えましたが、そこにユーザー数を格納していますが、firebaseは子のgetvalueを許可せず、値を設定します(値は取得できますが、私は何をすべきですか?

UPDATE 私はその瞬間で働いていないが、これを行うための別の方法を考えたが、私はそれが私の元の問題を解決するための別の方法を考えているよりも簡単解決すると思います。 だから私は、キー "02"とランダムな値を持つNumberofUsersの子をもう一人作った。今は "01"のデータが必要なときは、 "NumberofUsers"のaddChildEventListenerを有効にした後に値 "02"を変更します。これを行うコード。 Code that does this私にそれを与えるエラー。 Error its giving me。新しいデータベース。 new database 明らかに私はdatasnapshot、任意のソリューションを使用して子データにアクセスできませんか? これを解決する方法はありますか? ありがとうございます。

+0

リスナを接続せずにFirebaseデータベースからデータを読み取ることはできません。しかし、リスナーをアタッチすると、リスナーは現在のデータに対して起動します。リスナーをつけてみることをお勧めします。そうでない場合は、ここにコードを記入してください。私たちは助けてくれるはずです。 –

+0

この記事のコメントで述べたように[リス](https://stackoverflow.com/questions/38279329/how-firebase-listener-actually-work)リスナーはデータベースの更新時にのみ機能します。はい、私はそれも聞いてみたいですが、後で始めに、他のユーザーの数がログインしていることをユーザーに伝えたいと思います。そのために、リスナーがキャッチするイベントはありません。私の質問はこれと幾分関係していますが、答えもありません。 [link](https://stackoverflow.com/questions/40184797/retrieve-data-from-firebase-database-on-button-click)コードのどの部分を投稿したいのですか? – Umer

+0

私はあなたがデータベースから直接データを読み取ることはできないと知っていますが、それでもあなたが知っている方法はありますか?私はちょうどデータを取得したい(それに1を加えて、新しいアカウントの場合は新しい値で設定する)。 – Umer

答えて

0

残念ながら、Firebaseデータベースからリスナーを接続せずにデータを読み取る方法はありません。 Firebaseに関して、それはリスナーに関するすべてです。あなたのケースでは、私はあなたが一度呼び出されるコールバックをし、すぐに削除すると思います。もしそうなら、このシナリオを簡略化するためにaddListenerForSingleValueEvent()メソッドを使ってあなたを勧める。それは一度トリガーしてから再びトリガーしません。

これは、一度読み込む必要があり、頻繁に変更されたり、アクティブなリッスンを必要としないデータに役立ちます。

希望します。

関連する問題