Есть ли более короткий способ показать данные в базе данных Firebase с textView? - PullRequest
0 голосов
/ 02 июня 2018

У меня простая ответственность, я хочу чему-то научиться.Как я могу показать данные в базе данных Firebase с помощью TextView?

    mDatabase = FirebaseDatabase.getInstance().getReference("MyData");

    mDatabase.child("Dog").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String txt = dataSnapshot.getValue(String.class);
            Splash_Title.setText(txt);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

Я могу показать их этим методом, но я хочу знать, есть ли более короткий путь.

Я хочуполучить значение TextView с данными «Собака» Заранее спасибо.

{ "MyData" : { "Cat" : "x", "Dog" : "y" } }

1 Ответ

0 голосов
/ 02 июня 2018

Как говорит откровенный, то, что вы делаете, правильно, поскольку вы указываете только на 1 значение внутри узла MyData.Это может быть хорошо, если вам нужно только получить это единственное значение, но если вы хотите получить все значения из объекта MyData, вы должны написать класс POJO, а затем получить значения с foreach, это выведет вас всехзначения из MyData

mDatabase = FirebaseDatabase.getInstance().getReference("MyData");

    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DatasnapShot snapShot : dataSnapshot.getChildren())
            MyData md = snapShot.getValue(MyData.class);
            String dog = md.getDog(); //get dog name
            String cat = md.getCat(); // get cat name
            //And then just do a log to print or see those values
            Log.e("DogAndCatName",""+dog+cat);

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

, и вам понадобится только другой класс, который является вашим POJO с именем MyData.class

, при этом мы создаем объект MyData для доступа к каждому данным из этого объекта вваш запрос dataSnapshot.

  public class MyData {

    private String Dog;
    private String Cat;

    public MyData() {
    }

    public String getDog() {
        return Dog;
    }

    public void setDog(String dog) {
        Dog = dog;
    }

    public String getCat() {
        return Cat;
    }

    public void setCat(String cat) {
        Cat = cat;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...