2016-12-16 153 views
3

我在法國學習,我很難找到法語教程來解決我的問題。因此我有義務問我的問題,希望能有一個令人滿意的解決方案。從firebase中檢索數據android

我的問題是,我無法閱讀我在Firebase上的數據,而且我花了三天的時間。

I have a structure like this:

我已經開始代碼的東西,我是能夠恢復的關鍵,但我不能休養生息這些價值觀「NOM」,「銀色」等。

private Firebase mRef ; 
mRef = new Firebase("https://authent-50e6b.firebaseio.com/users"); 
mRef.addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
     String cle = dataSnapshot.getKey(); 
     Toast.makeText(ListeActivity.this,"la cle est : "+cle ,Toast.LENGTH_SHORT).show(); 
+0

你好查拉夫艾哈邁德, 你可以請張貼您的解決方案,我堅持從fireabse重新獲取數據。 請發送我您的代碼只修改您在數據庫中設置的部分和規則 預先感謝 –

+0

public void onChildAdded(DataSnapshot dataSnapshot,String s){String} = dataSnapshot.getKey(); String nom = dataSnapshot.child(「nom」)。getValue(String.class); Toast.makeText(ListeActivity.this,「la cle est:」+ cle +「nom est:」+ nom,Toast.LENGTH_SHORT).show(); –

回答

1

約翰的另一種方法是使用DataSnapshot.child()去每個屬性:

public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
    String cle = dataSnapshot.getKey(); 
    String nom = dataSnapshot.child("nom").getValue(String.class); 
    Toast.makeText(ListeActivity.this,"la cle est : "+cle+" nom est : "+nom ,Toast.LENGTH_SHORT).show(); 
+0

Merci beaucoup @Frank。幸運的是,有像你這樣的慷慨的人 –

+0

約翰的解決方案是更具可擴展性的一個順便說一句。礦是更快,更冒險的。 :-) –

1

你可能會需要像以下(假設你有User POJO,其字段映射到那些火力DB)

User user = dataSnapshot.getValue(User.class); 
String nom = user.getNom(); 
+0

Merci @John爲您的解決方案。 –

+0

Pas deproblème:) –