2017-01-11 8 views
-1

私はJSONツリーのこのタイプから可子供を取得したい:Androidを使用してFirebaseデータベースからネストされた子を取得するには?

enter image description here

+1

何か試しましたか?あなたが持っている場合は、あなたの質問にそれを言及し、どのステップを失敗したかを教えてください。私たちの多くはあなたを助けたいと思っていますが、[どうすれば良い質問をしますか](http://stackoverflow.com/help/how-to-ask)をお読みください。とにかく、StackOverflowへようこそ:) – koceeng

+0

また、あなたの質問にJSONツリーの写真が含まれています。実際のJSONをテキストとして置き換えてください。このテキストは[Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data/)の[Export JSON]リンクをクリックすることで簡単に取得できます。 。 JSONをテキストとして検索可能にすることで、実際のデータを使ってテストしたり、答えに使用したりすることができます。一般的には、これは良いことです。 –

+0

ありがとうございます@koceeng –

答えて

2
FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference userRef = database.getReference("users").child(key).child("Alloweded"); 
ValueEventListener postListener = new ValueEventListener() { 
@Override 
public void onDataChange(DataSnapshot dataSnapshot) { 
    User userObj = dataSnapshot.getValue(User.class); 

} 

@Override 
public void onCancelled(DatabaseError databaseError) { 
    // Getting Post failed, log a message 
    Log.w(TAG, "loadPost:onCancelled", databaseError.toException()); 
    // ... 
} 
};userRef.addValueEventListener(postListener); 

ユーザーはありません、緯度持っているあなたのモデルクラス、LNG、名前であり、profileUrlなど

私はそれがうまく動作することを願っています。

+0

ありがとう:)あなたの時間 –

1

ファイアベースリスナーは、初期データと変更の両方を実行します。

あなたはChildEventListenerを使用し、コレクション内のデータを同期させるために探している場合。単一のオブジェクトを同期させる場合は、ValueEventListenerを使用してください。どちらの場合も、データを「取得」していないことに注意してください。同期しているので、初期データとデータが更新されるたびにコールバックが複数回呼び出される可能性があります。

FirebaseRef.child("message").addValueEventListener(new ValueEventListener() { 
@Override 
public void onDataChange(DataSnapshot snapshot) { 
    System.out.println(snapshot.getValue()); //prints "Do you have data? You'll 
    love Firebase." 
} 
@Override 
public void onCancelled(DatabaseError databaseError) {   
} 
}); 
関連する問題