¿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:
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 :
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.
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


0