“我怎么能?”;匹配“;两个不同的用户在Android上发送相同的值(一个测验应用程序)?
我正在android上制作一个测验应用程序,我使用Firebase注册用户并存储问题。我想做的是,当用户按下一个按钮时,我想向他们两人发送相同的问题列表,让他们互相竞争。我对如何实现这一目标几乎一无所知“我怎么能?”;匹配“;两个不同的用户在Android上发送相同的值(一个测验应用程序)?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在android上制作一个测验应用程序,我使用Firebase注册用户并存储问题。我想做的是,当用户按下一个按钮时,我想向他们两人发送相同的问题列表,让他们互相竞争。我对如何实现这一目标几乎一无所知 我的想法如下。当用户单击find me a match(查找匹配项)时,我会将他添加到一个表中(命名为waitingMatch),如果有人与他关系密切(按区域),我会将他们从该表中删除,并将他们添加到一个新表中(命名为waitingMatch)。这是一种可行的方法还是有更好的方法来匹配用户 我认
我的想法如下。当用户单击find me a match(查找匹配项)时,我会将他添加到一个表中(命名为waitingMatch),如果有人与他关系密切(按区域),我会将他们从该表中删除,并将他们添加到一个新表中(命名为waitingMatch)。这是一种可行的方法还是有更好的方法来匹配用户 我认为firebase中的根文档应该是这样的
+ /
+ Sessions: [
+ *
+ members: [
+ *
+ uid: "xx"
+ *
+ uid: "xxx"
+ Users : [
+ *
+ uid: "xxx"
+ username: "name"
+ bio: "description"
+ *
+ uid: "xx"
+ username: "name2"
+ bio: "description" ]
我认为最好使用Firebase身份验证对用户进行身份验证,并简单地将用户的uid存储在数据库中
会话根目录还可以包含额外的信息,例如,关于谁赢了等。我正在对答案进行投票,因为这很有用,但我会在接受它之前等待其他更有用的答案。我已经使用了firebase身份验证,我是一个经验丰富的MySQL用户,但我不熟悉firebase。我应该在firebaseFirebase中切换到MySQL吗Firebase是一个NoSQL数据库,SQL规范化规则可能仍然适用。有时最好将数据集规范化为2NF状态,而不要一直到3NF。在决定应用程序的数据结构时,最好先查看视图,然后对数据进行建模。