java - 如果 Firebase 数据库 ID 存在,则通知用户

标签 java android firebase firebase-realtime-database

我想在插入之前检查 ID 是否已存在(防止更新已存在的 ID)。 这是我到目前为止的代码:

database.child(id).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()) {
            Toast.makeText(getApplicationContext(), "it exists.", Toast.LENGTH_SHORT).show();
        }
        else {
            Toast.makeText(getApplicationContext(), "it's OK.", Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Toast.makeText(getApplicationContext(), databaseError.getMessage(), Toast.LENGTH_SHORT).show();
    }
});

问题是,当id不存在时,它会显示两个toast。但是,当它确实存在时,它只显示“它存在”。一个。

如何显示“它存在”。仅当 id 存在时才 toast /如何防止“它存在”。当 id 不存在时显示 toast?

编辑:

Firebase 数据库结构:

-DATABASE
    -ID
        -NAME
        -DESCRIPTION

最佳答案

尝试这样

database.child(id).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if (dataSnapshot.getValue()!=null) {
            Toast.makeText(getApplicationContext(), "it exists.", Toast.LENGTH_SHORT).show();
        }
        else {
            Toast.makeText(getApplicationContext(), "it's OK.", Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Toast.makeText(getApplicationContext(), databaseError.getMessage(), Toast.LENGTH_SHORT).show();
    }
});

关于java - 如果 Firebase 数据库 ID 存在,则通知用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885110/

相关文章:

java - 在 Play FrameWork 中正确使用 @Security.Authenticated(Secured.class) 语句

ios - 自定义 FUIAuthPickerViewController

android - XML 中 setTag(key, value) 的等价性

swift - 类型 'StorageMetadata' 的值没有成员 'downloadURL'

javascript - React firebase 在第一次加载时会重复数据,但在刷新时加载时不会重复数据

JAVA图形按钮

java - 在 javafx 2.0 中创建未修饰的阶段

java - 上传大文件时 Jersey2 Client OutOfMemoryError

android - Facebook 登录按钮崩溃应用程序没有错误消息

android - Firebase 函数在部署时抛出异常