android firebase - 获取儿童数 [英] android firebase - get childrens count
本文介绍了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 underTechnology
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屋!
查看全文