我在启用了磁盘持久性的Android应用中使用Firebase实时数据库。
当用户首次打开应用程序时,我读取身份验证状态,如果该值为null,则显示登录屏幕,登录后,我将username
根据该用户ID将其存储在实时数据库中。
如果用户名为空,那么我将显示username
设置屏幕,他将在其中选择唯一的用户名username
。在用户名设置阶段连接断开时会出现问题。username
尚未写入数据库,但是当他下次打开应用程序时,username
它将不会为null,因为实时数据库为我提供了存储在缓存中的值。因此,我进入主屏幕,但是如果在此阶段其他人选择了相同的用户名怎么办?
我维护之间的双向映射uid
,并username
在此建议的答复
我不能使用事务,因为一次只能在一条路径上运行事务,但就我而言,我必须自动更新两条路径。
我还设置了安全规则来维护唯一的用户名,但是该如何处理已经越过用户名设置屏幕的用户。
BIG阳
相关分类