android获取id列表,android – Firebase – 按ID列表获取元素

这样可以解决问题:

Firebase ref = new Firebase("https://stackoverflow.firebaseio.com/35963762");

ref.child("students/s1/lectures").addListenerForSingleValueEvent(new ValueEventListener() {

public void onDataChange(DataSnapshot snapshot) {

for (DataSnapshot lessonKey: snapshot.getChildren()) {

ref.child("lectures").child(lessonKey.getValue(String.class)).addListenerForSingleValueEvent(new ValueEventListener() {

public void onDataChange(DataSnapshot lectureSnapshot) {

System.out.println(lectureSnapshot.child("title").getValue());

}

public void onCancelled(FirebaseError firebaseError) {

}

});

}

}

public void onCancelled(FirebaseError firebaseError) {

}

});

输出:

lecture1

lecture2

关于您的数据结构的一些评论:

>您正在嵌套可能不嵌套的数据结构.例如,此代码现在还加载了讲座1和讲座2的学生列表,它不需要.如果您将“学生在课堂上”和“为学生讲课”移动到他们自己的顶级节点中,您将不会遇到此问题.

>您将“学生在演讲中”存储在一个数组中.这意味着如果从阵列中间删除讲座,则必须更新后面的所有讲座.更常见的方法是将讲座id存储为键,将虚拟true作为值存储:

students_per_lecture: {

"l2" : {

"s1": true,

"s2": true

}

},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值