1
私はfirebase auth uiを使ってメールとパスワードを持つユーザを作成していますが、登録後に私は自分のユーザ名を選択するために新しい活動に転送します。私の考えは、そのユーザー名が既に存在するかどうかを確認するためにDB全体を検索することでした。ここで私はこれを行うにしようとしていますどのようにされていないが、今まで運:全体のFirebaseデータベースを単一の値で検索する
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("UserName", "Click: ");
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("USERS");
mDatabase.orderByChild("username").equalTo("name1").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
//Here you can get all data
Log.d("UserName", "onDataChange: "+snapshot.toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
私もこの1試してみました:あなたのコードが動作していない唯一の理由がある
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("UserName", "Click: ");
DatabaseReference mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
Query query = mFirebaseDatabaseReference.child("USERS").orderByChild("username").equalTo("name1");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
//TODO get the data here
Log.d("UserName", "onDataChange: " + dataSnapshot.toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
query.addValueEventListener(valueEventListener);
}
});
.equalTo(「NAME1」)を使用すると、NAME1は、あなたがチェックしたり、文字列変数であることを確認してくださいすることができますか? –
その文字列、私はまだ動的に名前を確認する変数を追加していません。 – Nick
DataSnapshot forループのこのString.valueOf(driverSnapshot.child( "username")。getValue())を試してください – Sunil