Как заполнить просмотр списка изображениями из базы данных Firebase в Android? - PullRequest
0 голосов
/ 10 ноября 2018

Я сохранил ссылки на изображения в моем хранилище Firebase для моей базы данных Firebase. Структура JSON для моей базы данных выглядит примерно так:

|
 --- users
 |
 |
    ---- uid1
 |  |
 |   -- uid1
 |  |
 |   -- name
 |  |
 |   -- imageURL
 |  |
 |
 |
  -- uid2

То, что я хочу сделать, это заполнить мой список просмотра изображениями из этого. Мне также нужно знать, как заполнить просмотр списка изображениями.

Я прочитал некоторые ответы о переполнении стека, но не мог понять, как мне начать с этого.

Буду признателен, если кто-нибудь предоставит информацию и код для начала.

EDIT : Я могу получить imageURL из базы данных, я не застрял в этом. Я хочу знать, как я могу заполнить просмотр списка изображениями? Я видел некоторые ответы на StackOverflow, но ни один из них не мог должным образом решить мою проблему.

Ответы [ 2 ]

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

Если вы можете использовать модификацию для извлечения изображений из Firebase, тогда было бы очень легко заполнить изображения в RecyclerView. Если вы не знаете о модернизации, вы можете следовать этому замечательному учебнику. https://www.raywenderlich.com/4539-android-networking

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

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

FirebaseDatabase.getInstance().getReference().child("users").addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    for(DataSnapshot ds:dataSnapshot.getChildren()){
                        String image = ds.child("image").getValue(String.class);
                        // You can now set your Image with any method you want, Glide Picasso or any other library
//                        GlideApp.with(getContext())
//                                .load(image)
//                                .placeholder(new ColorDrawable(getResources().getColor(R.color.colorWhite)))// you can use any color here
//                                .fitCenter()
//                                .into(image_view);// An ImageView instance
                    }
                }

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

                }
            });

То, что здесь делается, должно быть там, где вы выбираете свои элементы для отображения в ListView. После получения списка вы можете передать их в свой адаптер. Комментируемый GlideApp вызов должен происходить в методе getView вашего адаптера

...