检测firebase子值是" null"或" 0"

时间:2016-11-16 17:42:19

标签: android firebase firebase-realtime-database

This is the value in inside my firebaseDatabse

This is how I retrieve user infomation (e.g Name & Age)

我的问题是如何检查子值是否为" null"? 需要帮助和指导...... 感谢

3 个答案:

答案 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