我在firebase中得到空指针异常我知道没有任何值,就像我给的数据库引用那样但是我希望在生成该值时它会自动显示... 只想在firebase上创建它时获取该单个值,但它在行上给出了空指针异常String val = .....
请帮帮我......
final DatabaseReference dtt = database.getReference("/trial/trials/");
dtt.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String val= dataSnapshot.child("myvalue").getValue().toString();
if(val!=null)
{
Log.e("not null------","---------------");
}else
{
Log.e("null------","---------------");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
请帮帮我......请..
答案 0 :(得分:3)
final DatabaseReference dtt = database.getReference("/trial/trials/");
dtt.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String val= dataSnapshot.child("myvalue").getValue(String.class);
if(val!=null)
{
Log.e("not null------","---------------");
}else
{
Log.e("null------","---------------");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 1 :(得分:1)
您正在以错误的方式使用getValue()。应该是
String val= dataSnapshot.child("myvalue").getValue(String.class);
要检查,如果值存在,您可以将dataSnapshot转换为Hashmap,就像这样
HashMap<String, Object> hashmap = (HashMap) dataSnapshot.getValue();
String val= hashmap.get("myvalue");