【问题标题】:users does not define no argument constructor [duplicate]用户没有定义无参数构造函数[重复]
【发布时间】:2018-05-22 05:47:53
【问题描述】:

我一直收到这个错误 “用户没有定义无参数构造函数。如果您使用 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) {

        }
    });
}

users.class

@Keep
public class users {

    public String user_id, address, contact, name;

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


}

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    JavaBeans require a no-argument constructor 出现。

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

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

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

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

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

    public users() {}
    

    【讨论】:

    • 哇,谢谢!欣赏它!
    • 但是这样做我只检索用户ID,并且不会检索用户ID下的所有数据,例如姓名,地址等。
    • 您的班级成员姓名需要与数据库中孩子的姓名相匹配。或者您需要提供以 JavaBeans 方式匹配的 getter 和 setter。
    • {“用户”:{“73fsRy0znKRa5zFEl5XsJM4Q7Zf1”:{“地址”:“Lokawi”,“联系人”:“999”,“姓名”:“Logiut”},“QnHe3Y7LHQXnqrUT85v18PAKhbm1”:{“ address" : "Papar", "contact" : "852,525,", "name" : "Bantaton" }, } 这就是 json 数据的样子,我添加了另一个 public users() 但这次是构造函数,并且字符串如下: public class users { private String user_id, address, contact, name;仍然只获取用户 ID。
    • 您可能想问第二个格式正确的问题,解释您遇到的这个新问题。
    猜你喜欢
    • 1970-01-01
    • 2023-01-01
    • 2015-01-22
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多