iT邦幫忙

0

Android studio Firebase JavaBean 讀取陣列

我想要讀取firebase上面的資料,目前是可以正常讀取,
但是如果把class User_data的註解拿掉就會因為讀取的是陣列錯誤
但是我爬了很多文還是找不到解決得辦法

我不太會用JavaBean讀取的這種寫法,所以還多了mName,mId兩個陣列,原本想要把User_Data裡面的id,name改成陣列,但是又多出很多問題,希望有高手可以指導我一下

Firebase上面Reamtime Database的資料庫資料:

  "users" : {
    "123001" : {
      "number" : {
        "123": "50",
        "124": "70"
      },
      "id" : "123001",
      "name" : "P.M"
    },
    "123005" : {
      "number" : {
        "156" : "80",
        "489" : "20"
      },
      "id" :"123005",
      "name" : "Wu"
    }
  }
public class User_data {
    //ArrayList number ;
    String id;
    String name;
}
private ArrayList<String> mName = new ArrayList<>();
private ArrayList<String> mId = new ArrayList<>();
    
private Set<User_data> list=new HashSet<>();

private void getFirebaseData(){
        DatabaseReference reference_users=FirebaseDatabase.getInstance().getReference("users");
        reference_users.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                
                for(DataSnapshot ds : dataSnapshot.getChildren()){
                    User_data user_data =ds.getValue(User_data.class);
                    list.add(user_data);
                    
                    mName.add(user_data.name);
                    mId.add(user_data.id);
                }
            }
            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                
            }
        });



    }
fillano iT邦超人 1 級 ‧ 2018-12-24 18:24:18 檢舉
number的結構並不是ArrayList吧?你改用HashMap<string, string>看看。

1 個回答

0
partyyaya
iT邦新手 4 級 ‧ 2018-12-28 16:25:58

或許這篇可以為你解答:
https://stackoverflow.com/a/32888869/9151543

我要發表回答

立即登入回答