如何从Android Studio中的Firebase数据库中只读取一个值?

时间:2017-02-28 17:11:15

标签: android firebase firebase-realtime-database

这是我在Firebase数据库中的数据库:

This is my database in Firebase:

如何在Android应用中从我的Firebase数据库中读取a1的值,并将其存储在字符串变量ra1中?使用给定数据库的示例Java代码非常有用。

谢谢。

2 个答案:

答案 0 :(得分:2)

在您的情况下,您只想检索字符串 ONCE 不听取任何更改

那么,你做了什么:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener(){

  @Override
  public void onDataChange(DataSnapshot dataSnapshot){
     String value = dataSnapshot.child("a1").getValue(String.class); //This is a1
   }

});

答案 1 :(得分:1)

初始化root并添加childeventlistener:

DatabaseReference root = FirebaseDatabase.getInstance().getReference().child("morpion_c76af");
    root.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            if(dataSnapshot.getKey().equals("a1")) {
                String a = (String) dataSnapshot.getValue()
            }
        }

        @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) {

        }
    });

希望这有帮助。