我正在为摩托车创建一个“虚拟车库应用程序”,我无法从我的Firebase检索数据,我只能访问数据库中每辆摩托车的HashMap。这是我的数据库内容:
下面是我试图检索数据的代码:代码
下面是我尝试放置数据的ExampleItem()对象:ExampleItem
有任何方法来迭代dataSnapshot.value HashMap的值以便为每个字符串调用setter吗?
发布于 2021-05-17 11:27:33
有任何方法来迭代dataSnapshot.value HashMap的值以便为每个字符串调用setter吗?
通过访问所需的确切属性,您可以获得更简单的信息。例如,要显示"motoBrand“属性的值,请使用以下代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference mototrackRef = rootRef.child("mototrack");
mototrackRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
for (DataSnapshot ds : task.getResult().getChildren()) {
String motoBrand = ds.child("motoBrand").getValue(String.class);
Log.d("TAG", motoBrand);
}
} else {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
}
});以完全相同的方式可以获得其他属性的值。在科特林会是这样的:
val rootRef = FirebaseDatabase.getInstance().reference
val mototrackRef = rootRef.child("mototrack")
mototrackRef.get().addOnCompleteListener { task ->
if (task.isSuccessful) {
for (ds in task.result.getChildren()) {
val motoBrand = ds.child("motoBrand").getValue(String::class.java)
Log.d("TAG", motoBrand)
}
} else {
Log.d("TAG", task.exception.getMessage()) //Don't ignore potential errors!
}
}https://stackoverflow.com/questions/67568596
复制相似问题