Получить конкретное значение из базы данных Firebase в строковую переменную - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь получить определенное значение из базы данных Firebase в реальном времени.

Данные выглядят так:

The data looks like this;

Я хочу получить значение URL-адреса любого из них, а затем поместить его в строковую переменную для последующего использования. Это связано с тем, что не нужно менять программу, если ссылка для скачивания изменилась. Код, который я имею до сих пор:

DatabaseReference fdb = FirebaseDatabase.getInstance().getReference();
//Query query = fdb.child("URLDOWNLOADS").child("WSSeasons")
fdb.addListenerForSingleValueEvent(new ValueEventListener()
{
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot)
    {
        for (DataSnapshot url : dataSnapshot.getChildren())
        {
            LoginInfoFirebasedb DownURL = url.getValue(LoginInfoFirebasedb.class);
            String temp = DownURL.dwldURL;
            URL1 = temp;
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError)
    {

    }
});

Некоторая помощь будет принята с благодарностью. Я понимаю, что это может быть простой проблемой, но я в тупике.

1 Ответ

0 голосов
/ 14 ноября 2018

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

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("URLDOWNLOADS");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String key = ds.getKey();
            String url = ds.child("URL").getValue(String.class);
            Log.d(TAG, key + " / " + url);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
ref.addListenerForSingleValueEvent(valueEventListener);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...