【发布时间】:2021-01-03 10:33:50
【问题描述】:
我尝试在 java 中实现一个代码,通过使用 ID 搜索从数据库(firebase)中检索数据并将其显示在表单中。
在这里我已经保存了一些数据,现在当我输入 id 时,它需要以相同的形式显示 id 的数据。
btnShow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
searchID = txtid.getText().toString().trim();
DatabaseReference readRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference dref = readRef.child("Student");
Query query = dref.orderByChild("id").equalTo(searchID);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.hasChildren()){
txtID.setText((dataSnapshot.child("id").getValue().toString()));
txtName.setText((dataSnapshot.child("name").getValue().toString()));
txtAdd.setText((dataSnapshot.child("address").getValue().toString()));
txtConNo.setText((dataSnapshot.child("conNo").getValue().toString()));
}
else
Toast.makeText(getApplicationContext(),"No Source to Display",Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});
这是我实现的 java 代码。但是当我运行程序并在数据库中提供正确的 id 时,它总是显示为“无源显示”(我的数据库中有数据并且保存功能正常工作)
我是 android studio 和 firebase 的初学者。请修改上面的代码并告诉我如何通过 ID 进行搜索。
谢谢。
【问题讨论】:
-
添加你的数据库截图
-
数据库已添加先生
标签: java android firebase android-studio firebase-realtime-database