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

Это моя база данных RealTime JSON данных. Я хочу получить дочерний идентификатор узла root Активы. но, кажется, не могу понять, поскольку я не использую идентификатор пользователя, вместо этого я сканирую штрих-код и сохраняю данные под определенным номером штрих-кода.

Вот снимок экрана

enter image description here

1 Ответ

1 голос
/ 24 января 2020

Чтобы получить эти ключи, пожалуйста, используйте следующие строки кода:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference assetsRef = rootRef.child("Assets");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String key = ds.getKey();
            Log.d(TAG, key);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
assetsRef.addListenerForSingleValueEvent(valueEventListener);

Результат в logcat будет:

CFM100010254BG
GE123100010254GB

Если вы хотите только первый ребенок ( CFM100010254BG), вместо использования DatabaseReference, используйте следующий запрос:

Query query = assetsRef.orderByChuild("asset_model").equalTo("CFM56");

и присоедините слушателя к этому запросу.

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