目前,所有使用我的Android应用的用户的数据都会转到Firebase Storage上的一个文件夹中。但是我想为每个新设备自动创建一个新文件夹。这意味着,"哈利的设备"的数据将被上传到Firebase存储的"哈利文件夹"。并且"简的设备"的数据将自动上传到"简文件夹"。
注意:我想在 Firebase 存储上自动创建文件夹。
不要使用名称,使用用户的 UID,因为它是唯一的。每当将数据上传到Firebase时,请使用以下命令:
private void uploadMethod() {
progressDialog();
StorageReference storageReferenceProfilePic = firebaseStorage.getReference();
StorageReference imageRef = storageReferenceProfilePic.child(firebaseUser.getUid() + "/" + "image" + ".jpg");
imageRef.putFile(profilePicUri)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
//if the upload is successful
//hiding the progress dialog
//and displaying a success toast
dismissDialog();
profilePicUrl = taskSnapshot.getDownloadUrl().toString();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
//if the upload is not successful
//hiding the progress dialog
dismissDialog();
//and displaying error message
Toast.makeText(getActivity(), exception.getCause().getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
//calculating progress percentage
// double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
// //displaying percentage in progress dialog
// progressDialog.setMessage("Uploaded " + ((int) progress) + "%...");
}
});
}
在以下情况下不会自动创建特定的 Firebase 云存储位置新用户注册到你的应用。但你可以通过根据用户 ID 命名文件夹来手动实现此目的。