如何在字符串变量中从Firebase数据库访问此嵌套值?

时间:2019-11-05 09:35:44

标签: android firebase

这是我的FirebaseDatabase结构。

Firebase Database

  

如何从Firebase数据库访问此“ 1”值(顶部图片)

2 个答案:

答案 0 :(得分:0)

获取alerts属性值的最简单方法是:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference alertsRef = rootRef.child("Alert").child("1").child("alerts");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        long alerts = dataSnapshot.getValue(Long.class);
        Log.d(TAG, String.valueOf(alerts));
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
alertsRef.addListenerForSingleValueEvent(valueEventListener);

您的logcat中的结果将是:

1

因此,为了获取Firebase记录的值,您需要对树中的每个子级进行child()调用。您还可以更简单地使用:

DatabaseReference alertsRef = rootRef.child("Alert/1/alerts");

答案 1 :(得分:-1)

mDatabase = FirebaseDatabase.getInstance()。getReference(); mDatabase.child(“ elon **”)。child(“ Alert”)。child(“ 1”)。child(“ alert”)。child(“ 1”)。setValue(xxxxx)