Как получить значения в базе данных Firebase в реальном времени - PullRequest
0 голосов
/ 12 февраля 2020

Я борюсь с извлечением данных из базы. enter image description here

Например, я хочу получить первую запись и получить имя пользователя и пароль. Как я могу получить «ключ» первой записи? enter image description here

Вот мой код:

    private String UserName;
    private String Password;
    private int Identity;
    private DatabaseReference reff = FirebaseDatabase.getInstance().getReference();

    public User() {

    }

    public User(String UserName, String Password, int Identity) {
        this.UserName = UserName;
        this.Password = Password;
        this.Identity = Identity;

    }

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String UserName){
        this.UserName = UserName;
    }

    public String getPassword() {
        return Password;
    }

    public void setPassword(String Password) {
        this.Password = Password;
    }

    public int getIdentity() {
        return Identity;
    }

    public void setIdentity(int identity) {
        Identity = identity;
    }

    public void Save(){
        reff.child("Users").push().setValue(this);
    }
}
User newUser = new User(userName, password, identity);
                newUser.Save();

1 Ответ

0 голосов
/ 12 февраля 2020

Если вы хотите получить ключ элемента, который вы пишете, вы можете увидеть его с помощью:

public void Save(){
    DatabaseReference newUserRef = reff.child("Users").push();
    newUserRef.setValue(this);
    System.out.println(newUserRef.getKey());
}

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

DatabaseReference usersRef = reff.child("Users");
usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            System.out.println(userSnapshot.getKey());
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...