Android Firebase - 检查重复

时间:2018-01-03 12:48:06

标签: android firebase firebase-realtime-database

private void examineData() {
  final String labelnum = "microbe A";
  databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
      if (!dataSnapshot.child(labelnum).exists()) {
        Toast.makeText(AddMicrobe.this, "Data Does Not Exist", Toast.LENGTH_SHORT).show();
      } else {
        Toast.makeText(AddMicrobe.this, "Data Exist", Toast.LENGTH_SHORT).show();
      }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
  });
}

我之前提到Check for duplicates before insertion in Firebase ..我不明白它是如何追踪的..
如何检查“microbeA”已经存在?我做错了..代码不起作用..

1 个答案:

答案 0 :(得分:0)

如果您使用的.child(labelnum) labelnum初始化为microbe A,则表示您正在检查密钥microbe A是否存在。但这不是你想要的。使用此代码,您不会检查labelnum键的值是否为microbe A

要解决此问题,您需要检查labelnum键的值是否为microbe A。所以请使用以下代码行:

!dataSnapshot.child("labelnum").equals("microbe A")