这是我的代码,用于从firebase数据库中删除特定值但不起作用

时间:2018-04-13 08:50:47

标签: java database firebase firebase-realtime-database

数据库结构:

enter image description here

//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数据库中删除特定值但不起作用。但是该值是由随机函数生成的,该值的关键字存储在俱乐部变量

1 个答案:

答案 0 :(得分:0)

这是删除v

的方法
     dataSnapshot.getRef().removeValue();

您还应该检查值是否为空

     if(snapshot.child("msg").getValue() != null){
        String msg = snapshot.child("msg").getValue().toString();
        return;
     }