java - 从 dataSnapshot 中的 dataSnapshot 中提取值
问题描述
我无法从数据快照中的 Firebase 数据库数据快照中获取字符串值。我想遍历“表”数据快照中的键,然后使用每个键在另一个数据快照中打印一个值。我从内部快照打印的值是正确的,但它不适用于我想要分配给它的外部快照和变量。有没有更正确的方法来做到这一点?这是我正在尝试的示例:
String extracted;
String key;
onCreate(){
DatabaseReference dbRef1 = FirebaseDatabase.getInstance().getReference().child("Table");
dbRef1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot data : dataSnapshot.getChildren()){
key = data.getKey();
DatabaseReference dbRef2 = FirebaseDatabase.getInstance().getReference().child(key);
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
extracted = dataSnapshot.getValue().toString();
System.out.println(extracted);//prints correct value
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
System.out.println(extracted); //prints null
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
解决方案
推荐阅读
- unity3d - BeeByte 反混淆
- css - 在表格单元格之间居中放置图像
- .htaccess - 重定向 htacces 除了单词
- spring-boot - Spring boot的嵌入式Tomcat启动后立即关闭
- ruby-on-rails - 导入语句后开玩笑的意外标识符
- android - Android 小部件:skip_to_next 和 skip_to_previous 按钮不起作用
- c# - .net 3.5 COM 加载 4.5.2 程序集
- python - 在 Python 中使用 netCDF4 读取变量时如何指定精度?
- android - onCreateView 出现空指针异常错误
- python - 如何使用凭据登录网站 https://www.flipkart.com/