【发布时间】:2020-02-22 23:04:01
【问题描述】:
我创建了一个条形码扫描仪应用程序,它读取条形码 ID 并需要将输出作为语音输出。为了阅读所有内容,我需要在一个 TextView 中一起获取所有数据。我尽我所能从数据库中添加查询。但它只在TextView 中显示为com.google.firebase.database.Query@9fc9e4d,而我的应用程序TTS 引擎清楚地读取了它。但我需要将其设置为数据库中单个TextView 下的所有数据才能说出。请帮我????这里只附上结果处理方法。
@Override
public void handleResult(Result result) { final String scanResult = result.getText();
databasefetch = FirebaseDatabase.getInstance().getReference("save");
databasefetch.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
setContentView(R.layout.activity_second);
TextView text = (TextView) findViewById(R.id.textView3);
String tst = databasefetch.child("save").orderByChild("id").equalTo(scanResult).toString();
text.setText(tst);
//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) {
}
});
}
【问题讨论】:
-
你能指出你想从数据库中得到哪些文本吗?还有为什么你在firebase操作中添加
setContentView而不是onCreate? -
这是一个用于百叶窗的应用程序,它由手势处理,因此细节、名称、价格应该显示在 textview 上,以便一起说出来
-
扫描仪获取条形码 id 并需要使用我在数据库中写入的数据库 id 检查 id。
标签: java android firebase-realtime-database