мое приложение со сканером штрих-кода, и я создал базу данных Firebase Realtime для этого приложения. я ввел некоторые данные в базу данных. я хочу получить все данные (имя, данные, цену) подряд, проверив результат сканирования по идентификатору (в указанной строке c) в базе данных. нашел некоторые учебные пособия, похожие на запрос, но я не мог установить код, как я буду sh. пожалуйста, кто-нибудь поможет мне сделать это небольшое исправление для меня?
ниже я упомянул мой нынешний рабочий код. но он проверяет результат сканирования с уникальным идентификатором строки и выбирается так, как я хочу. но трудно ввести данные с тем же UID, что и scanresult. Этот код работает, только когда я динамически добавляю данные непосредственно в базу данных на сайте.
Первый пи c рабочего кода:
секунгу пи c нужно получить, проверив его идентификатор:
@Override
public void handleResult(Result result) {
final String scanResult = result.getText().toString();
setContentView(R.layout.activity_second);
databasefetch = FirebaseDatabase.getInstance().getReference().child("save").child(scanResult);
databasefetch.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
TextView text = (TextView) findViewById(R.id.textView3);
String name = dataSnapshot.child("name").getValue().toString();
String details = dataSnapshot.child("details").getValue().toString();
String price = dataSnapshot.child("price").getValue().toString();
text.setText("\nProduct Name : "+name+"\nDetails : "+details+"\nPrice : "+price);
//text to speech
String toSpeak=text.getText().toString();
//Toast.makeText(getApplicationContext(),toSpeak,Toast.LENGTH_SHORT).show();
txt.speak(toSpeak,TextToSpeech.QUEUE_FLUSH,null);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});