Как я могу использовать Glide с базой данных Firebase? - PullRequest
0 голосов
/ 10 января 2019

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

Glide.with(activity.this).load(pics direct url).into(imageview);

Но когда я использую базу данных Firebase, она работает не так;

FirebaseDatabase firebasedatabase = FirebaseDatabase().getInstance().getReference(“name of database”).child(id).child(“imageUrl”);

Glide.with(activity.this).load(firebasedatabase).into(imageview);

Где не так? Как я могу это исправить? Большое спасибо всем!

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Вы используете объект 'firebasedatabase' при загрузке вместо URL . В загрузке мы ставим URL.

            DatabaseReference myref2 = FirebaseDatabase.getInstance().getReference("Yourself").child(userid).child(s);
            myref2.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    String image = dataSnapshot.child("image").getValue(String.class);
                    Glide.with(getContext()).load(image).into(ImageView)
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
0 голосов
/ 10 января 2019

Ваша проблема в том, что следующая строка возвращает FirebaseDatabase, а не строку:

FirebaseDatabase firebasedatabase = FirebaseDatabase().getInstance().getReference(“name of database”).child(id).child(“imageUrl”);

Вам нужно прослушать строковое значение при его получении, а затем добавить строку Glide следующим образом:

firebasedatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            String imageUrl = dataSnapshot.getValue(String.class);
            Glide.with(activity.this).load(imageUrl).into(imageview);

        }

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

        }
    })
...