Android - ¿Como visualizar imagenes desde el Storage de Firebase, en un ImagenView?

 
Vista:
Imágen de perfil de Jesus Ramon
Val: 2
Ha aumentado su posición en 9 puestos en Android (en relación al último mes)
Gráfica de Android

¿Como visualizar imagenes desde el Storage de Firebase, en un ImagenView?

Publicado por Jesus Ramon (1 intervención) el 26/09/2020 03:49:39
Llevo bastante buscando una respuesta a este problema pero no lo he solucionado. Seria de mucha ayuda algunos tips.

Tengo el siguiente código en java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == PHOTO_SEND && resultCode == RESULT_OK){
        final Uri u = data.getData();
        storageReference=storage.getReference("Pictures");//Imagenes del chat
        final StorageReference fotoReferencia = storageReference.child(u.getLastPathSegment());
        fotoReferencia.putFile(u).addOnSuccessListener(this, new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                String urlimagen = u.toString();
                Mensaje m = new Mensaje("Usuario a enviado una foto", nombre.getText().toString(),"","2",urlimagen);
                databaseReference.push().setValue(m);
            }
        });
 
 
    }
}

Con la intención de cargar una imagen al Storage y conseguir su Url de descarga para que se visualice en múltiples dispositivos, cumpliendo con la siguiente condición con un Adapter :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void onBindViewHolder(@NonNull Holdermensaje holder, int position) {
 
    holder.getNombre().setText(listmensaje.get(position).getNombre());
    holder.getMensajemensaje().setText(listmensaje.get(position).getMensaje());
    if(listmensaje.get(position).getType_mensaje().equals("2")){
        holder.getMensajefoto().setVisibility(View.VISIBLE);
        holder.getMensajemensaje().setVisibility(View.VISIBLE);
        Glide.with(c).load(listmensaje.get(position).getUrlimagen()).into(holder.getMensajefoto());
    }else if(listmensaje.get(position).getType_mensaje().equals("1")){
        holder.getMensajefoto().setVisibility(View.GONE);
        holder.getMensajemensaje().setVisibility(View.VISIBLE);
    }
 
}

El archivo se carga a la base de datos pero no me genera el enlace de descarga, en su lugar genera:

"content://com.android.providers.media.documents/document/image%3A102377"

o

"com.google.android.gms.tasks.zzu@e3f8d0"

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder