android - 用户没有定义无参数构造函数

标签 android firebase firebase-realtime-database

<分区>

我一直收到这个错误 “用户没有定义无参数构造函数。如果您使用 ProGuard,请确保这些构造函数没有被剥离。”什么都试过了,不知道为什么会这样。

public void retrievingUserInfo(){

    databaseUserID.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            //clearing the previous userinfo list
            Users_Info.clear();

            //iterating through all the nodes
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                //getting userinfo
                users userinfo = postSnapshot.getValue(users.class);
                //adding userinfo to the list
                Users_Info.add(userinfo);
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

用户类

@Keep
public class users {

    public String user_id, address, contact, name;

    public users(String user_id, String address, String contact,String name) 
    {}


}

最佳答案

JavaBeans require a no-argument constructor出席。

当 Java 类根本没有构造函数时,编译器会自动为其添加一个默认的无参数构造函数。当您在类中定义任何构造函数时,默认的无参数构造函数就会消失。

在您的代码中,您的users 类定义了这样一个包含参数的构造函数:

public users(String user_id, String address, String contact,String name) 
{}

只要该构造函数存在,并且您不定义无参数构造函数,该类就不会有一个。

要解决这个问题,您需要从类中删除该构造函数,或者手动向其添加无参数构造函数:

public users() {}

关于android - 用户没有定义无参数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47706601/

相关文章:

Android - 选择建议后不会重写搜索 View 中的查询文本

安卓摄像头在后台

android - Firebase 将监听器附加到查询对象

firebase - 如何在 Unity 上的 Firebase 身份验证中获取 googleTokenID 和 googleAccessToken

android - 如何使用 Firebase 查询返回 bool 值?

Node.js + Firebase orderByChild 不工作

android - Twitter4J + Android : Authentication Challenge is Null Exception

安卓系统应用101

android - 无法获得 google-services-4.3.3 - Firebase 实现

typescript - Firebase Admin SDK错误: Expression has type `void` .将其作为语句放在自己的行中