我们如何在Firebase存储上为Android应用的每个新用户自动生成一个新文件夹



目前,所有使用我的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 命名文件夹来手动实现此目的。

相关内容

最新更新