有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Security如何在安卓应用程序中实现用户之间的阻止功能,从而使他们无法再联系到对方

我正在开发一个安卓应用程序,它使用Firestore作为数据库。这是一款类似Tinder的聊天/约会应用,搜索附近的用户进行聊天。所以,伙计们,我需要你们在“阻止用户”功能方面的帮助,比如如果user1出于任何原因阻止user2,我想在user1应用程序内的阻止用户活动列表中显示阻止的user2,显然,两个用户不应该在应用程序中的任何位置看到对方,甚至在搜索中也不应该像tinder一样

稍后,如果user1决定取消阻止user2,user2应该再次出现在搜索中

所以请帮帮我,伙计们。我被困在这里,不知道如何完成它。所以请提前帮助和感谢你们。我知道你一定会帮我的


共 (1) 个答案

  1. # 1 楼答案

    假设您有一个用户集合,其中每个用户都是users集合中的文档,为了解决这个问题,我建议您在每个用户对象下添加一个array类型的新属性,如下所示:

    Firestore-root
       |
        - users (collection)
            |
             - uid (document)
                 |
                  - blockedUsers: ["friendUid", "friendUid"]
                 |
                  - //other user properties
    

    搜索附近的用户时,请将找到的每个用户添加到列表中。拥有所有附近用户的列表后,您现在可以检查正在搜索附近用户的用户是否在blockedUsers列表中。您可以使用如下查询来实现这一点:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
    Query query = rootRef.collection("users").whereArrayContains("blockedUsers", uid);
    

    通过这种方式,您可以仅向用户显示已将其添加到或未将其添加到阻止列表中的附近用户