Проблема создания дочерней базы данных Firebase (с моделью) - PullRequest
0 голосов
/ 31 октября 2019

Привет Я хотел бы зарегистрировать имя и фамилию пользователей в базе данных в качестве примера, используя модель. Данные хранятся в базе данных, но не отправляют имена, которые я использую в модели, как дочерние имена. Вместо этого он сохраняет «a, b, c, d ...». В чем причина этого?

Создана база данных:

"-LMqLmS09gGKjR-s9CML" : {
  "a" : "Robin",
  "b" : "Hood"
}

База данных, которую я хочу создать:

 "-LMqLmS09gGKjR-s9CML" : {
      "firstname" : "Robin",
      "lastname" : "Hood"
    }

User.java (Модель):

public class User {

    public String fistname;
    public String lastnname;

    public User(String fistname, String lastnname) {
        this.fistname = fistname;
        this.lastnname = lastnname;
    }

    public String getFistname() {
        return fistname;
    }

    public void setFistname(String fistname) {
        this.fistname = fistname;
    }

    public String getLastnname() {
        return lastnname;
    }

    public void setLastnname(String lastnname) {
        this.lastnname = lastnname;
    }
}

MainActivity.java:

public class MainActivity extends AppCompatActivity {

String firstname="Robin";
String lastname="Hood";
private DatabaseReference mDatabase;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FirebaseApp.initializeApp(this);
        mDatabase = FirebaseDatabase.getInstance().getReference();

        String key = mDatabase.push().getKey();

        User users = new User(firstname,lastname);

        mDatabase.child(key).setValue(users);
    }
}

1 Ответ

1 голос
/ 31 октября 2019

Я наконец нашел ответ. Это потому, что я использовал proguard для безопасности. Proguard перемешивает набранный вами код, чтобы другие люди не могли увидеть код после создания .APK. Firebase была автоматически классифицирована, потому что это также перепутало имена ребенка. Я решил проблему, исключив классы моделей из Proguard.

Android Firebase хранит пользовательские элементы объекта с алфавитными клавишами (например, "a", "b", "c") только при установке черезрелиз apk

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