我有一个Android应用,用户可以在“文件夹”中上传多个pdf文件。我的应用程序可以完美地上传和查看单个PDF文件。要上传多个文件,我知道我必须使用for循环,但是我不知道如何进行操作。
我上传单个PDF的代码是:
StorageReference pdfRef = storageReference.child(fName + "/" + pdfName);
pdfRef.putFile(pdfData)
.addOnSuccessListener(new OnSuccessListener < UploadTask.TaskSnapshot > () {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(MainActivity.this, "File Uploaded!", Toast.LENGTH_SHORT).show();
Task < Uri > uriTask = taskSnapshot.getStorage().getDownloadUrl();
while (!uriTask.isComplete());
Uri uri = uriTask.getResult();
Map < String, Object > map = new HashMap < > ();
map.put("url", String.valueOf(uri));
map.put("name", pdfName);
DocumentReference documentReference = db.collection(fName).document(pdfName);
documentReference.set(map)
.addOnSuccessListener(new OnSuccessListener < Void > () {
@Override
public void onSuccess(Void aVoid) {
Log.d("TEST", "onSuccess: Task was successful");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d("TEST", "onFailure: Task was not successful" + e.getLocalizedMessage() + " " + e.getMessage());
}
});
alertDialog.dismiss();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
fName和pdfName是要从我的代码其他地方获取的要上载的文件夹和PDF的名称。主要问题是使用for循环