如何在Firebase中获得孩子的价值

时间:2018-10-18 16:53:35

标签: java android firebase firebase-realtime-database

我在Firebase中具有以下结构:

enter image description here

我有代码:

DatabaseReference curtidasRef = firebaseRef.child("postagens-curtidas").child(feed.getId()).child("qtdCurtidas");

我的数据库结构:

enter image description here

我的问题是:如何获得qtdCurtidas的值?

2 个答案:

答案 0 :(得分:1)

要获取您的const img = 'data:image/png;base64,aBdiVBORw0fKGgoAAA'; const buffer = Buffer.from(img.substring(img.indexOf(',') + 1)); console.log("Byte length: " + buffer.length); console.log("MB: " + buffer.length / 1e+6); 的价值,请使用以下代码行:

qtdCurtidas

您的logcat中的输出将是:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("postagens-curtidas");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            long qtdCurtidas = ds.child("qtdCurtidas").getValue(Long.class);
            Log.d(TAG, "qtdCurtidas: " + qtdCurtidas);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
ref.addListenerForSingleValueEvent(valueEventListener);

答案 1 :(得分:0)

您可以使用valueEventListener来获取数据。首先定义您的变量。从您的屏幕快照中可以看到,它是整数变量。然后将valueEventListener设置为您的DatabaseReference。

int myValue;

curtidasRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                             myValue= dataSnapshot.getValue(Integer.class);
            }

            @Override
            public void onCancelled(DatabaseError error) {
               //TODO: some codes to handele error
            }
        });