Вот как мои данные структурированы в базе данных Firebase:
qrcode
|- Result
|--"sit19da39a3ee5e6b4b0d3255bfef95601890afd80"
|-- "sit1901-10-2018asd"
В формате JSON это похоже на
{
"Result" : {
"-LNEU_XD7EqNBJUoGBxL" : "sit19da39a3ee5e6b4b0d3255bfef95601890afd80709",
"-LNieDTKW6UaVyd_jRWn" : "sit1901-10-2018asd"
}
}
По сути, я делаю приложение для Android, которое может сканировать QR-кодыи хранить их данные в базе данных.Я сделал это так, что коды, которые не начинаются с sit19, не будут помещены в базу данных с использованием метода substring.Теперь я хочу проверить, существует ли недавно отсканированный код внутри firebase.Я пытался использовать .haschild (код) в цикле for, но это не совсем работает.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null) {
if (result.getContents() == null) {
Toast.makeText(this, "You cancelled the scanning", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, result.getContents(), Toast.LENGTH_LONG).show();
output = result.getContents();
String TestString = output;
if(output.substring(0,5).equals("sit19") == false) {
// display invalid code
Toast.makeText(this, "Invalid", Toast.LENGTH_LONG).show();
} else {
//push to firebase
DatabaseReference testRef = FirebaseDatabase.getInstance().getReference().child("Result");
//loop through table to see if output is already inside
testRef.push().setValue(TestString);
}
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
Любая помощь будет высоко ценится.