目前,使用我的Android应用的所有用户的数据都将转到Firebase存储上的单个文件夹。但我想为每个新设备自动创建一个新文件夹。手段,"哈里设备的数据"将被上传到" Harry Folder"存储Firebase。和"简的设备"将自动上传到" Jane Folder"。
注意:我希望在Firebase存储上自动创建文件夹。
答案 0 :(得分:0)
不要使用名称,使用用户的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) + "%...");
}
});
}
答案 1 :(得分:0)
没有自动创建特定的firebase云存储位置时 新用户注册到您的应用。但您可以通过根据用户ID命名文件夹来手动实现此目的。