Когда я пытаюсь загрузить несколько файлов в хранилище и базу данных Firebase, несколько файлов загружаются в хранилище Firebase, но при переходе в базу данных Firebase детали файла (название и URL) обновляются только для одного файла (последний файл) для других файлов обновляется только заголовок.
Вот что происходит, когда я загружаю несколько файлов
Это код загрузки нескольких файлов
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri fileUri;
String fileName;
if(requestCode == PICK_FILES && resultCode == RESULT_OK){
if (data.getClipData() != null){
int totalItemsSelected = data.getClipData().getItemCount();
for (int i = 0 ; i < totalItemsSelected; i++){
fileUri= data.getClipData().getItemAt(i).getUri();
fileName = getFileName(fileUri);
fileNameList.add(fileName);
fileDoneList.add("uploading");
uploadListAdapter.notifyDataSetChanged();
final StorageReference fileToUpload = mStorage.child("HNDIT/1st Year 2nd Sem/OOP").child(fileName);
databaseReference = FirebaseDatabase.getInstance().getReference("HNDIT/1st Year 2nd Sem/OOP").push();
databaseReference.child("title").setValue(fileName);
final int finalI = i;
fileToUpload.putFile(fileUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
StorageMetadata snapshotMetadata = taskSnapshot.getMetadata();
Task<Uri> downloadUrl = fileToUpload.getDownloadUrl();
downloadUrl.addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String fileReference = uri.toString();
databaseReference.child("url").setValue(fileReference);
}
});
fileDoneList.remove(finalI);
fileDoneList.add(finalI, "done");
uploadListAdapter.notifyDataSetChanged();
}
});
}
Я хочу знать, в чем заключается ошибка и как ее устранить .???