数据库结构:
//Read the single value
mPrizeRef.child("prize").equalTo(mVal);
mPrizeRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
Log.d("MainActivity", "Value= " + dataSnapshot1.child("prize").getValue(String.class));
prizeList.add(dataSnapshot1.child("prize").getValue().toString());
String club = dataSnapshot1.getKey().toString();
mPrizeRef.child(dataSnapshot1.getKey()).removeValue();
}
if (prizeList.size() > 0) {
Random random = new Random();
mVal = prizeList.get(random.nextInt(prizeList.size())).toString();
mText.setText(prizeList.get(random.nextInt(prizeList.size())).toString());
}
}
这是我的代码,用于从firebase数据库中删除特定值但不起作用。但是该值是由随机函数生成的,该值的关键字存储在俱乐部变量
中答案 0 :(得分:0)
这是删除v
的方法 dataSnapshot.getRef().removeValue();
您还应该检查值是否为空
if(snapshot.child("msg").getValue() != null){
String msg = snapshot.child("msg").getValue().toString();
return;
}