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

Сегодня я пытаюсь получить какой-то дочерний элемент базы данных firebase, я не знаю, является ли моя структура лучшей в моем случае, поэтому у меня есть приложение типа "rappi", и у меня есть дочерний empresa и дочерний элемент, если идентификатор пользователя подобен этому:

image of estructure

, поэтому я хочу, чтобы ребенок находился в зоомагазине, а пользователь вошел в систему farmacia.Я хочу знать, это лучший способ получить идентификатор от empresa.

DatabaseReference produtosRef = firebaseRef
            .child("empresa")
            .child( "How i get this?" )
            .child(UserID);

Я не знаю, как получить второй экземпляр

Edit1: я хочу получить идентификатор пользователя, если изпройти "petshop" или "farmácia"

1 Ответ

0 голосов
/ 31 мая 2019

Я думаю, у вас уже есть собственный класс для хранения объектов. Если нет, создайте его!

class YourClass{
    public String categoria;
    public String email;
    public String uid;
    ///....and some attributes as in your pic you posted
}

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

ArrayList < YourClass > objects = new ArrayList < > ();
    DatabaseReference dataRef =
     FirebaseDatabase.getInstance().getReference("empresa").child("farmacia");
    dataRef.addChildEventListener(new ChildEventListener() {
     @Override
     public void onChildChanged(DataSnapshot snapshot, String previousChildName) {}

     @Override
     public void onCancelled() {
        System.err.println("Listener was cancelled");
     }

     @Override
     public void onChildAdded(DataSnapshot snapshot, String arg1) {
        YourClass object = 
           (YourClass(dataSnapshot.getValue(YourClass.class));
        if (object != null) objects.add(object);
        //from now you have object so you can access and modify or do anything with it
     }

     @Override
     public void onChildMoved(DataSnapshot arg0, String arg1) {
      // TODO Auto-generated method stub

     }

     @Override
     public void onChildRemoved(DataSnapshot arg0) {
      // TODO Auto-generated method stub

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