我试图在一个活动中写入数据,然后在另一个活动中读取它。我的写作部分正在工作。对于我的阅读部分,我试图将 getValue 与我编写的类的参数一起使用。但我不断收到此错误:
com.google.firebase.database.DatabaseException: ozhan.climb.MainActivity$User 类未定义无参数构造函数。如果您使用 ProGuard,请确保这些构造函数没有被剥离。
我在getValue()中使用的类:
class User {
public String Server,
NeededRole,
Role,
SummonerName;
User() {}
public String get_Server() {
return Server;
}
public String get_NeededRole() {
return NeededRole;
}
public String get_Role() {
return Role;
}
public String get_SummonerName() {
return SummonerName;
}
}
这是应该获取数据的代码:
public void getUserData(){
final TextView tv_sumName = findViewById(R.id.tv_sumName),
tv_neededRole = findViewById(R.id.tv_neededrole),
tv_userRole = findViewById(R.id.tv_userrole),
tv_server = findViewById(R.id.tv_server);
final String uid = Objects.requireNonNull(mAuth.getCurrentUser()).getUid();
DatabaseReference usersDataRef = databaseRef.child("Users").child(uid);
usersDataRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
User u = dataSnapshot.getValue(User.class);
if (u != null) {
tv_server.setText(u.Server);
tv_neededRole.setText(u.NeededRole);
tv_userRole.setText(u.Role);
tv_sumName.setText(u.SummonerName);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
慕的地6264312
相关分类