I'm currently working on java android application, and I have problem with showing uploaded images in app. I'm uploading images on firebase storage, and realtime database. This is screenshot of realtime database item:
when i change mImageUrl value to firebase storage access token my images are shown just fine.
I think i need to change only this part of code:
Upload upload = new Upload(productName.getText().toString().trim(), productDesc.getText().toString().trim(), taskSnapshot.getMetadata().
getReference().getDownloadUrl().toString());
But here is whole method for uploading files to firebase:
private void uploadFile() {
if(mImageUri != null){
StorageReference fileReference = mStorageRef.child(System.currentTimeMillis() + "." + getFileExtension(mImageUri));
mUploadTask = fileReference.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
uploadProgress.setProgress(0);
}
}, 1000);
Toast.makeText(AddItemForSale.this, "Upload successful", Toast.LENGTH_LONG).show();
Upload upload = new Upload(productName.getText().toString().trim(), productDesc.getText().toString().trim(), taskSnapshot.getMetadata().
getReference().getDownloadUrl().toString());
String uploadId = mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(upload);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(AddItemForSale.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(@NonNull UploadTask.TaskSnapshot snapshot) {
double progress = (100.0 * snapshot.getBytesTransferred() / snapshot.getTotalByteCount());
uploadProgress.setProgress((int) progress);
}
});
}else {
Toast.makeText(this, "No file selected", Toast.LENGTH_SHORT).show();
}
}