я хочу проверить дублирование идентификатора
я хочу сделать код проверки дублирования идентификатора.
поэтому я получаю идентификатор, набранный пользователем, с помощью sid = id.getText().toString().trim();
, а затем создаю json
деревья FirebaseDatabase.getInstance().getReference().child("users").child("id").setValue("add");
с использованием метода child () ...
и поместите значение с помощью метода setvalue()
.
, поскольку было невозможно использовать метод ondatachange()
... (я думаю,этот метод работает только при наличии данных, поэтому я поставил некоторые бесполезные данные) позже я удалю значение, которое есть в методе setvalue()
(есть ли другой метод, который можно использовать, даже если нет изменений ... мне нужнопроверить содержимое БД) в любом случае if (data.getValue()==sid)
эта часть
я думал, что он может проверить идентификатор ...
но он не работает
12-25 21:06:00.771 6700-6700/com.example.pc.login D/myTag: {id=add}
выглядит журнал Androidвот так ... id - это дочерняя часть ... а add - это значение, которое я поставил, это результат getvalue()
метода ...
итогов: 1. как я могу поставитьid от пользователей к firebase
db 2. как я могу получить единственное значение id, кроме дочерней части, когда я использую метод getvalue()
.он принимает имя ребенка и значение, которое я положил
, поэтому, если идентификатор существует ... пользовательский ... пользователь должен написать другое ... если нет ... firebase
db хранит идентификаторпользователь сделал ...
спасибо за чтение ... помогите мне ...
idcheckbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//store the id user created
sid = id.getText().toString().trim();
FirebaseDatabase.getInstance().getReference().child("users").child("id").setValue("add");
FirebaseDatabase.getInstance().getReference().addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
if (data.getValue()==sid) {
Log.d("myTag",""+dataSnapshot.getChildren());
Toast.makeText(MainActivity.this, "aleady exists",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "you can use this id",Toast.LENGTH_SHORT).show();
FirebaseDatabase.getInstance().getReference().child("users").child("id").setValue(sid);
Log.d("myTag",""+data.getValue());
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});