android - 检查 Firebase 存储中是否存在某个名称的文件夹

标签 android firebase firebase-storage

在 Firebase 存储中,我有一个名为 uploads/ 的文件夹.在该文件夹中,我有多个以 userId 命名的文件夹。 s 的注册用户。

这就是我想要做的。当用户输入“ProfileActivity”时,代码会在 Firebase 数据库中查找 uploads/文件夹下是否有任何以该用户的 userId 命名的文件夹。如果文件夹存在与否,然后相应地运行代码。

这是我到目前为止所做的,但这里是 addValueEventListener没有解决。我做对了吗?我在这里缺少什么?

public class ProfileActivity extends AppCompatActivity {

    private FirebaseAuth mAuth;
    private StorageReference mStorageRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_profile);

        mAuth = FirebaseAuth.getInstance();
        mStorageRef = FirebaseStorage.getInstance().getReference("uploads");
    }


    @Override
    protected void onStart() {
        super.onStart();
        FirebaseUser user = mAuth.getCurrentUser();
        String userID = user.getUid();
        if (user.isEmailVerified()) {
            StorageReference userFolder = mStorageRef.child(userID);
            userFolder.addValueEventListener(new ValueEventListener() {
                @Override
                void onDataChange(DataSnapshot snapshot) {
                    if (snapshot.exists()) {
                        // run some code
                    } else {
                        //Code
                    }
                }
            });

        }
    }
}

最佳答案

Cloud Storage for Firebase 没有像实时数据库这样的事件监听器。您正在尝试做一些不受支持的事情(这就是您遇到编译器错误的原因)。请参阅 StorageReference 的 API 文档找出你可以用那个对象做什么。

最重要的是,无法检查 Cloud Storage 中是否存在“文件夹”。 Cloud Storage 实际上没有任何文件夹。它只有具有看起来像文件夹的路径组件的文件。

如果你想知道一个文件是否存在(不是一个“文件夹”),那么你可以使用 getMetadata引用该文件的 StorageReference 上的方法。

关于android - 检查 Firebase 存储中是否存在某个名称的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52138037/

相关文章:

java - 在后退按钮后再次创建 Activity 时,Parcelable 数据不可用

android - 加密 Realm 数据库

node.js - Google App Engine Node.js 应用中 Firebase 项目的 serviceAccountKey.json 的安全路径

javascript - 将我上传的图片从 1 张照片扩展到 5 张照片; map /foreach?

android - Firebase 存储规则

android - 在 List<String> 中添加或删除时不支持获取操作?

android - Dagger2 不生成 Dagger* 类

java - 检索当前用户的 child 数据: Firebase

Android Firebase OrderByChild limitToLast 不工作

ios - 从 Firebase 存储中删除表格 View 图像