【发布时间】:2018-08-06 20:02:29
【问题描述】:
我想在 FirebaseRef snapshot.Value == null 时执行 x。这每次都可以在 Unity 编辑器中使用,但是当我在 Android 设备上执行此操作时,每次都会失败。该应用程序不会崩溃,它只是不做任何事情。
身份验证工作正常。 数据库工作正常(当值存在时,我会获取所有其他值)但是当值不存在时,这就是我遇到问题的地方。
这是我的 sudo 代码,任何帮助将不胜感激。
ref.Child("Location/That/Doesnt/Exist").GetValueAsync().ContinueWithTask(Task => {
if (task.IsFaulted){
//Do something
}
else if (task.IsCompleted){
DataSnapshot snap = task.Result;
if(snap.Value == null){
//This is what hangs. I get here and it just does nothing.
}
}
});
我很迷茫。我不确定如何解决这个问题。我没有收到任何错误,但这就像函数就停在那里一样。
谢谢大家!
编辑
所以我正在做的解决这个问题是在路径中创建一个 DB 条目,其中 key == "0" 和 value == 0。然后我说如果 ChildCount 大于 1 并且那个孩子有更多超过 1 个孩子,继续。
我觉得这是一个非常糟糕的方法。
【问题讨论】:
-
Here is a simular javascript question 带有 Android 答案。
-
答案建议使用 HasChild(var),我也这样做过,甚至尝试过使用“ChildCount > x”。两者都不能在设备上工作,但都可以在 Unity 编辑器中工作。
-
您是否尝试过使用exists 功能?
-
是的,我得到了相同的结果。所有在编辑器中工作,但在 android 构建中失败。
标签: android firebase unity3d firebase-realtime-database