Sugar ORM - 如何通过listAll方法获取返回对象的属性?

时间:2015-08-18 11:19:16

标签: android sql sqlite sugarorm

我有以下代码段:

public void readUsersSugarDB() {
        // SUGAR DB TEST
        try {
            List<User> users = User.listAll(User.class);

            for (int i = 0; i < users.size(); i++) {
                User userObject = users.get(i);
                Logger.i(userObject.getUserName());
                Logger.i(userObject.toString());
            }
            //Integer userCount = User.getTableName(User.class);
            Logger.i("Users list", users);
        } catch (Exception e) {
            Logger.e("Sugar_db_exception", e.getMessage());
        }
    }

我想直接访问对象属性(名称,姓氏)但我无法访问。我必须在模型上创建getter方法来获取名字和姓氏。

是否可以访问对象属性而无需在模型上创建getter?如果是的话,我怎么能以正确的方式做到这一点?

非常感谢任何建议。

模特课程:

public class User extends SugarRecord<User>{
    String name;
    String surname;

    public User() {
    }

    public User(String name, String surname) {
        this.name = name;
        this.surname = surname;
    }

    public String getUserName() {
        return this.name;
    }
}

2 个答案:

答案 0 :(得分:1)

您正在使用默认修饰符,将字段声明为公共字段,然后您将能够以这种方式访问​​它:

user.name;
user.surname;

答案 1 :(得分:0)

您没有以正确的方式调用方法中的属性,您必须更改userObject.getUserName()的{​​{1}}

代码如下:

userObject.name.toString()