2016-09-14 11 views
1

firebaseをバックエンドとして使用するアプリケーションを作成したかったのですが、今のところ問題は、データのスナップショットを取得するためにリスナーを接続する必要があることです。しかし、私のアプリケーションが始まるたびに、私はデータのfirebaseを照会して、データベースに変更がなくても自分のビューを取りたいと思っています。firebaseからデータを取得するにはどうすればよいですか?

+2

答えはここにする必要がありますあなたのコード –

+0

を共有してください –

答えて

3

は、私はあなたがこのような何かをやっているとします

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
ref.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      // Code 
     } 
     @Override 
     public void onCancelled(DatabaseError databaseError) { 
      // Code 
     } 
    }); 

だから私はあなたが問題を解決する必要がありますaddListenerForSingleValueEventと呼ばれる代替メソッドを呼び出し、求めていると思います何のため。 は変更を待ち受けます。値を返すとすぐに、接続が再開されるまで接続を停止します。 https://firebase.google.com/docs/database/android/retrieve-data#child-events:


結果

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
    ref.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      // Code 
     } 
     @Override 
     public void onCancelled(DatabaseError databaseError) { 
      // Code 
     } 
    }); 
+0

ありがとうございました....今すぐ取得できます....問題は、onDatachangeのオーバーライドメソッドの名前が間違っていたことです。データが変更されたときにのみ呼び出されたと思いました –

関連する問題