Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查firebase数据库中的url_Java_Android_Firebase Realtime Database - Fatal编程技术网

Java 检查firebase数据库中的url

Java 检查firebase数据库中的url,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我想在“收藏夹”下为firebase数据库添加一个URL,但如果还没有。如何检查它。我只是个初学者。这就是我现在所尝试的 databaseReference=mFirebaseDatabase.getReference("Users"); firebaseUser = FirebaseAuth.getInstance().getCurrentUser(); databaseReference.child(firebaseUser.get

我想在“收藏夹”下为firebase数据库添加一个URL,但如果还没有。如何检查它。我只是个初学者。这就是我现在所尝试的

  databaseReference=mFirebaseDatabase.getReference("Users");              
  firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
            databaseReference.child(firebaseUser.getUid()).orderByChild("favourites").addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    for (DataSnapshot d : dataSnapshot.getChildren())
                        if (d.child("img_url").equals(uploadcurrent.getImageUrl()))
                        Toast.makeText(mcontext, "Already added", Toast.LENGTH_LONG).show();


                        else {
                            String key=databaseReference.push().getKey();
                            databaseReference.child(firebaseUser.getUid()).child("favourites").child(key).child("img_url").setValue(uploadcurrent.getImageUrl());

                            //do something if not exists

                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {

                }


            });

        }
    });
}


您可以直接在查询中检查url是否存在。为此,请更改以下代码行:

databaseReference=mFirebaseDatabase.getReference("Users");              
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
databaseReference
    .child(firebaseUser.getUid())
    .orderByChild("favourites")
    .addListenerForSingleValueEvent(/* ... */);


其中
url
是您实际查找的url的字符串表示形式。

这可能有助于您添加查询的侦听器以确保完整性。@samthecodingman还将
addListenerForSingleValueEvent
添加到解决方案中。仅添加该行没有帮助,它也需要功能体。您编写它的方式表明,问题中的侦听器代码无需修改即可工作。一个简单的
haschilds()
就足够了。/*…*/请完成它。如果url已经存在,我想要toast
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference favouritesRef = rootRef.child("Users").child(uid).child("favourites");
Query query = favouritesRef.orderByChild("img_url").equalTo(url):
query.addListenerForSingleValueEvent(/* ... */);