Как получить данные из базы данных в реальном времени в Firebase?

1

Я разрабатываю приложение, в котором пользователь регистрируется, вводит некоторую информацию, а затем перенаправляется на другую страницу, где он может видеть введенную информацию. Информация сохраняется в базе данных в реальном времени с использованием firebase, и моя проблема в том, как получить эти данные для отображения? Я смотрел на учебники, но я не понимаю, как эти данные могут быть получены в списке массивов или что-то в этом роде.

Вот моя структура базы данных, где id - это пользователь uuid: Изображение 174551

И вот как я сохраняю данные в базу данных:

это конструктор класса, который содержит различные переменные, которые будут сохранены

  public PersonalInfo(String Id, String Name, String Birthday, String weight, String height, String gender, String Protein, String carbs, String fat, String Weightloss)
    {
        this.id = Id;
        this.Name = Name;
        this.Birthday = Birthday;
        this.weight = weight;
        this.height = height;
        this.gender = gender;
        this.Protein = Protein;
        this.carbs = carbs;
        this.fat = fat;
        this.weightloss = Weightloss;
    }

и после получения текста различных текстовых полей в упражнении данные сохраняются следующим образом:

  PersonalInfo info = new PersonalInfo(Id, Name, Birthday, Weight, Height, Gender, Protein, Carbs, Fat, Weightloss);

        databaseinfo.child(Id).setValue(info);
        Toast.makeText(this, "Data added", Toast.LENGTH_SHORT).show();


Если бы кто-нибудь мог помочь или дать мне ссылку на учебник, который объясняет мою проблему, это было бы очень ценно.

Теги:
firebase
firebase-realtime-database

1 ответ

1

Привет, просто добавьте все это в метод и назовите его и замените 'server/saving-data/fireblog/posts' ссылкой на ваш узел сервера, и вы получите ответ от этого узла.

// Get a reference to our posts
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("server/saving-data/fireblog/posts");

// Attach a listener to read the data at our posts reference
ref.addValueEventListener(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {
    Post post = dataSnapshot.getValue(PersonalInfo.class);
    System.out.println(post);
  }

  @Override
  public void onCancelled(DatabaseError databaseError) {
    System.out.println("The read failed: " + databaseError.getCode());
  }
});

Есть несколько типов прослушивателей событий, и вы можете прочитать все о получении данных здесь.

  • 0
    Спасибо за Ваш ответ. Я видел этот код где-то раньше, и я заблудился с datasnapshot.getValue (Post.class); Что такое post.class?
  • 0
    Примите ответ, если вам хорошо
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню