FirebaseDatabase только сохраняет идентификатор - PullRequest
0 голосов
/ 20 октября 2018

Моя база данных Firebase сохраняет только идентификатор моего объекта, а не атрибуты.

Firebase связан с моим приложением для Android и может сохранять и восстанавливать данные из базы данных, когда я пытаюсь добавить данные в базу данных, создается объект в firebase, но после этого атрибуты, которые я хочу добавитьДля этого объекта в базе данных не сохраняются.

Кто-нибудь может мне помочь?

Класс моей базы данных:

public class Database
{
   private static Database database = null;

   private static FirebaseDatabase firebaseDatabase;

   private static DatabaseReference tractorRef;

   private Database()
   {
       firebaseDatabase = FirebaseDatabase.getInstance();

       tractorRef = firebaseDatabase.getReference("tractor");
   }

   public static void setInstance()
   {
       if(database == null)
       {
           database = new Database();
       }
   }

   public static DatabaseReference getTractorRef()
   {
    setInstance();
    return tractorRef;
   }
} 

Класс пользователя, который я пытаюсь сохранить:

import android.util.Log;

public class User
{
    private String id;
    private String name;
    private int age;

    public User(String id, String name, int age)
    {
        this.id = id;
        this.name = name;
        this.age = age;

        Log.d("User: ID:", "" + this.id);
        Log.d("User: NAME:", "" + this.name);
        Log.d("User: AGE:", "" + this.age);

    }

    public String getId() {
        return id;
    }
}

Код, которыйя использую, чтобы добавить объект в firebase:

User user = new User(Database.getTractorRef().push().getKey(), "Someone", 21);
Database.getTractorRef().child(user.getId()).setValue(user);

Вывод в моем Log.d ():

...... D / Пользователь: ID :: -LPD2UbA4sVqPXxWFv0V

...... D / пользователь: NAME :: Someone

...... D / пользователь: AGE :: 21

Что я вижу в FirebaseБаза данных:

Вывод из базы данных Firebase

1 Ответ

0 голосов
/ 20 октября 2018

Это только сохранение идентификатора, потому что getId() единственный публичный метод получения, который вы определили.Если вы хотите сохранить другие поля, сделайте общедоступными методы получения и для других полей.

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