对于类似问题,我已经查看了其他一些答案,但是不明白为什么我的系统无法正常工作.
在我的Firebase数据库中,有一个包含其下不同信息的用户列表.我想从当前userId到recyclerview检索信息.
我的代码如下:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference databaseStatus = rootRef.child("other");
String uid = firebaseAuth.getInstance().getCurrentUser().getUid();
databaseStatus.child(uid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot ds : snapshot.getChildren()) {
for (DataSnapshot dSnapshot : ds.getChildren()) {
OtherClass otherClass = dSnapshot.getValue(OtherClass.class);
Log.d("Show", otherClass.getOname() == null ? "" : otherClass.getOname());
list.add(otherClass);
}
adapter = new ShowOtherDetails.OtherAdapter(ShowOtherDetails.this, list);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
progressDialog.dismiss();
}
}
这给了我这个错误:
com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.mycare.OtherClass
firebase数据结构如下所示:
拜托,有人可以帮我吗?
最佳答案
尝试这个:
保存时,请执行以下操作:
String key = databaseStatus.child(uid).push().getKey()
这样您就可以获取密钥.
然后在第一种方法中在此处检索时将密钥作为子项添加
databaseStatus.child(uid).child(key).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
OtherClass otherClass = snapshot.getValue(OtherClass.class);
Log.d("Show", otherClass.getOname() == null ? "" : otherClass.getOname());
list.add(otherClass);
}
删除(DataSnapshot ds:snapshot.getChildren())的for循环
或这样做:
databaseStatus.child(uid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot ds : snapshot.getChildren()) {
for (DataSnapshot dSnapshot : ds.getChildren()) {
String date=dataSnapshot.child("date").getValue().toString();
String detail=dataSnapshot.child("detail").getValue().toString();
String email=dataSnapshot.child("email").getValue().toString();
String id=dataSnapshot.child("id").getValue().toString()
//and so on
}
Inm小程序商店
Inm小程序商店收录了最新,最热门的微信小程序和微信小游戏,是国内内容最丰富的集小程序游戏、小程序分发、小程序推广为一体的综合性小程序门户网站之一。
Vultr中文网
最低 $2.5/月 的VPS, 稳定, 可靠