Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“我怎么能?”;匹配“;两个不同的用户在Android上发送相同的值(一个测验应用程序)?_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

“我怎么能?”;匹配“;两个不同的用户在Android上发送相同的值(一个测验应用程序)?

“我怎么能?”;匹配“;两个不同的用户在Android上发送相同的值(一个测验应用程序)?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在android上制作一个测验应用程序,我使用Firebase注册用户并存储问题。我想做的是,当用户按下一个按钮时,我想向他们两人发送相同的问题列表,让他们互相竞争。我对如何实现这一目标几乎一无所知 我的想法如下。当用户单击find me a match(查找匹配项)时,我会将他添加到一个表中(命名为waitingMatch),如果有人与他关系密切(按区域),我会将他们从该表中删除,并将他们添加到一个新表中(命名为waitingMatch)。这是一种可行的方法还是有更好的方法来匹配用户 我认

我正在android上制作一个测验应用程序,我使用Firebase注册用户并存储问题。我想做的是,当用户按下一个按钮时,我想向他们两人发送相同的问题列表,让他们互相竞争。我对如何实现这一目标几乎一无所知


我的想法如下。当用户单击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。在决定应用程序的数据结构时,最好先查看视图,然后对数据进行建模。