This is the value in inside my firebaseDatabse
This is how I retrieve user infomation (e.g Name & Age)
我的问题是如何检查子值是否为" null"? 需要帮助和指导...... 感谢
答案 0 :(得分:9)
您可以从DataSnapshot
调用一些方法来检查值是否为“null”。
首先要明确的是Firebase不会存储具有空值的节点或字段,因此像age: null
这样的内容将不在您的数据库中。如果值为null,则age字段根本就不存在。
因此,DataSnapshot上可用的方法有:exists()
,hasChild(String s)
和hasChildren()
,可用于根据您要查找的内容检查是否存在某些内容。< / p>
使用示例如下:
if (dataSnapshot.exists())
if (dataSnapshot.hasChild("age"))
if (dataSnapshot.child("name").exists())
如果你想检查你的问题中提到的值是否实际为'0',那么没有什么特别之处;您只需检查该值是否等于零,就像在任何其他情况下一样。
答案 1 :(得分:3)
您可以使用:
if (dataSnapshot.exists()){} OR
if (dataSnapshot.getChildrenCount() != 0){}
如果没有数据,则在您呼叫时快照将返回false 当你调用getValue()时,exists()和null。
答案 2 :(得分:2)
你的getter将为快照中的空字段返回null