android firebase - 获取儿童数 [英] android firebase - get childrens count

查看:131
本文介绍了android firebase - 获取儿童数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下是我的Firebase数据

  {
ques:{
Chemistry {},
国家:{},
电影:{},
地理:{},
常识:{},
信息技术:{},
物理:{},
运动:{},
技术:{
-Ki0y2ojhgAkDKVFostV: {},
-Ki0ySAkiILNo2WSM7EO:{},
-Ki1-8R-5gfHJGl9bDYC:{},
-Ki1-fP2HlW0ejzVOGnD:{},
-Ki1-vhF3xgP81UPT5t:{},
-Ki10DSBPWIK0SAv5v8V:{},
-Ki11-pLXVWZlv0XbKpp:{},
-Ki11al-z6_MDBdpLGh7:{},
-Ki11pxZvjvIl68UhVRc:{},
-Ki124jOsYpy9bWpc7Yo:{},
-Ki12oDiad-7X6UBTtBv:{},
-Ki133GHJeys-J0vtdI9 ,
-Ki13Iq62Ly_tx4tcxKa:{},
-Ki13e4pp1Xnq7tnYa4N:{},
-Ki142gU6ZHRkE34r0u3:{},
-Ki14GswYf_lEji5a2PX:{},
-Ki14WZpH5w5jnB4mZF1:{},
-Ki14tX__g6VdmHJHi-g:{},
-Ki15JghcU73RtW5zacV:{},
-Ki15c91cOoRoR7h5aTL:{}



$ / code $ / pre
$ b $ I wan t来计算在 Technology
下可用的键的数量当我使用下面的代码时,得到count = 7,但在<$ c $下有20个键c>技术

 查询countQuery = countRef.child(ques)。child ); 
countQuery.addChildEventListener(new ChildEventListener(){
@Override
public void onChildAdded(DataSnapshot dataSnapshot,String s){


questionCount =(int )dataSnapshot.getChildrenCount();
tQuestionNoShow.setText(+ questionCount);


$ b @Override
public void onChildChanged(DataSnapshot dataSnapshot ,String s){

}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot){

}

@Override
public void onChildMoved(DataSnapshot dataSnapshot,String s){


$ b @Override
public void onCancelled(DatabaseError databaseError) {

}
});

那么..怎么实现呢?

解决方案

  Firebase.setAndroidContext(this); 
DatabaseReference fbDb = null;
if(fbDb == null){
fbDb = FirebaseDatabase.getInstance()。getReference();


$ b fbDb.child(ques / Technology)
.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot){
//获取总可用任务
int size = dataSnapshot.getChildrenCount();
}
@Override $ b $ public void onCancelled(DatabaseError databaseError){

}
});


Here is my Firebase data

{
"ques": {
"Chemistry": {},
"Countries": {},
"Film": {},
"Geography": {},
"General Knowledge": {},
"Information Technology": {},
"Physics": {},
"Sports": {},
"Technology": {
"-Ki0y2ojhgAkDKVFostV": {},
"-Ki0ySAkiILNo2WSM7EO": {},
"-Ki1-8R-5gfHJGl9bDYC": {},
"-Ki1-fP2HlW0ejzVOGnD": {},
"-Ki1-vihF3xgP81UPT5t": {},
"-Ki10DSBPWIK0SAv5v8V": {},
"-Ki11-pLXVWZlv0XbKpp": {},
"-Ki11al-z6_MDBdpLGh7": {},
"-Ki11pxZvjvIl68UhVRc": {},
"-Ki124jOsYpy9bWpc7Yo": {},
"-Ki12oDiad-7X6UBTtBv": {},
"-Ki133GHJeys-J0vtdI9": {},
"-Ki13Iq62Ly_tx4tcxKa": {},
"-Ki13e4pp1Xnq7tnYa4N": {},
"-Ki142gU6ZHRkE34r0u3": {},
"-Ki14GswYf_lEji5a2PX": {},
"-Ki14WZpH5w5jnB4mZF1": {},
"-Ki14tX__g6VdmHJHi-g": {},
"-Ki15JghcU73RtW5zacV": {},
"-Ki15c91cOoRoR7h5aTL": {}
}
}
}

I want to count the number of keys available under Technology When I use the below code , gets count = 7 , but there is 20 keys available under Technology

Query countQuery = countRef.child("ques").child("Technology");
countQuery.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {


                questionCount = (int) dataSnapshot.getChildrenCount();
                tQuestionNoShow.setText(""+questionCount);

            }

            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {

            }

            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {

            }

            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

So.. How to implement it??

解决方案

  Firebase.setAndroidContext(this);
  DatabaseReference fbDb = null;
  if (fbDb == null) {
      fbDb = FirebaseDatabase.getInstance().getReference();
  }


  fbDb.child("ques/Technology")
      .addListenerForSingleValueEvent(new ValueEventListener() {
           @Override
           public void onDataChange(DataSnapshot dataSnapshot) {
               // get total available quest
                int size = dataSnapshot.getChildrenCount();
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

这篇关于android firebase - 获取儿童数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆