Как получить данные из базы данных в реальном времени в Firebase? - PullRequest
1 голос
/ 24 апреля 2019

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

Вот моя структура базы данных, где id - это uuid пользователя: https://imgur.com/a/orNqyeq

А вот как я могу сохранить данные в базе данных:

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

  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();


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

1 Ответ

1 голос
/ 24 апреля 2019

Привет, просто добавьте все это в метод, вызовите его и замените '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());
  }
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...