Java Firebase数据库:获取;“无参数构造函数”;尽管有错误

Java Firebase数据库:获取;“无参数构造函数”;尽管有错误,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试图在一个活动中写入数据,然后在另一个活动中读取数据。我的写作部分正在发挥作用。对于我的阅读部分,我尝试将getValue与我编写的类的参数一起使用。但我一直在犯这样的错误: com.google.firebase.database.DatabaseException:类ozhan.gramb.MainActivity$User未定义无参数构造函数。如果您使用的是ProGuard,请确保这些构造函数没有被剥离 在getValue()中使用的我的类 class User { public

我试图在一个活动中写入数据,然后在另一个活动中读取数据。我的写作部分正在发挥作用。对于我的阅读部分,我尝试将getValue与我编写的类的参数一起使用。但我一直在犯这样的错误:

com.google.firebase.database.DatabaseException:类ozhan.gramb.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) {
        }
    });
}

例外情况是,您的类是
ozhan.gramb.MainActivity$User
——也就是说,它是
MainActivity
的内部类

内部类需要外部类的实例来构造。这对Firebase数据库不起作用,尽管错误消息肯定会得到改进

您的用户类应该是一个
静态
类,它不具有仅存在于包含类的实例中的相同要求:

static class User {
  ...
}