Вы должны сохранить эти изображения в вашей базе данных, сначала получить ссылку на них, а затем получить эти изображения с помощью Glide или Picasso .
Этот фрагмент сохраняет изображение в хранилище и получает URL для загрузки:
final StorageReference ref = storageRef.child("images/mountains.jpg");
uploadTask = ref.putFile(file); //your image
Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
// Continue with the task to get the download URL
return ref.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
//Here you can write that url to your database like this
yourDatabaseRef.push().child("photo").setValue(downloadUri);
} else {
// Handle failures
// ...
}
}
});
затем вы получаете эту ссылку с помощью addValueEventListener
// Attach a listener to read the data at our posts reference
yourImageRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String photoUrl = dataSnapshot.getValue(String.class);
//Manage picasso or glide to load that url
//Glide example
GlideApp
.with(Context)
.load(photoUrl)
.centerCrop()
.placeholder(R.drawable.loading_spinner)
.into(myImageView);
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
Мы храним URL изображения, чтобы показать его с помощью Picasso или Glide, это самый простой способ загрузки изображений с помощью Firebase.