繁体   English   中英

如何从Firebase Android检索子数据[保持]

[英]How to retrieve child data from firebase android [on hold]

我想检索名称,regno的数据,该数据保存在配置文件节点中,并将该数据存储在列表中。

rootref= database.getReference("Student");

rootref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

  try {

  for (DataSnapshot ds : dataSnapshot.getChildren()) {

  //list.add(String.valueOf(ds.getValue()));

  // listKeys.add(ds.getKey());

  DatabaseReference rootrefprofile=FirebaseDatabase.getInstance().getReference().child("profile");


  rootrefprofile.addValueEventListener(new ValueEventListener() {
  @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

      Toast.makeText(Studentlist.this, "Exist profile", Toast.LENGTH_SHORT).show();
      Map<String ,Object> map=(Map<String, Object>) dataSnapshot.getValue();
      String name=map.get("name").toString();
      String number=map.get("number").toString();
      String regno=map.get("regno").toString();
      list.add("Name:"+name+ "\nNumber:" +number+"\nRegno:"+regno);
    }

  @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
  });


  listKeys.add(ds.getKey());
  // Toast.makeText(getContext(), "The Request List of teachers", Toast.LENGTH_SHORT).show();
}

listview.setAdapter(adapter);

  }
  catch (Exception e)
  {
    Toast.makeText(Studentlist.this, e+" Error", Toast.LENGTH_SHORT).show();
  }

}

我无法从配置文件中检索数据,如何从配置文件中检索数据。

这可能对您有帮助

rootref.child("profile").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
    try {
      for (DataSnapshot ds : dataSnapshot.getChildren()) {
        Toast.makeText(Studentlist.this, "Exist profile", Toast.LENGTH_SHORT).show();
        Map<String ,Object> map=(Map<String, Object>) ds.getValue();
        String name=map.get("name").toString();
        String number=map.get("number").toString();
        String regno=map.get("regno").toString();
        list.add("Name:"+name+ "\nNumber:" +number+"\nRegno:"+regno);

        listKeys.add(ds.getKey());
      }
      listview.setAdapter(adapter);
    }
    catch (Exception e)
    {
       Toast.makeText(Studentlist.this, e+" Error", Toast.LENGTH_SHORT).show();
    }
}

不要在for循环中为配置文件添加ValueEventListener,您可以直接从根目录获取它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM