我无法处理ActiveRecord android

时间:2015-01-26 10:13:08

标签: android activerecord android-sqlite

我习惯在我的项目中使用ActiveRecord库。当我的模型由几个字段组成时,所有字段都正确保存。但如果我的模型包含其他模型,我无法进行保存。更详细地说:

我的模型(所以有效):

 @Table(name="Weathers")
    public class WeatherResponse extends Model {

        @Expose
        @Column(name="code")
        @SerializedName("cod")
        public int cod;

        @Expose
        @Column(name="base")
        @SerializedName("base")
        public String base;

        public WeatherResponse() {
            super();
        }
    }

但如果我添加一个字段:

@Expose
    @Column(name = "sys")
    @SerializedName("sys")
    public Sys sys;

并且这样做:

@Table(name="Weathers")
public class WeatherResponse extends Model {

    @Expose
    @Column(name="code")
    @SerializedName("cod")
    public int cod;

    @Expose
    @Column(name="base")
    @SerializedName("base")
    public String base;

    @Expose
    @Column(name = "sys")
    @SerializedName("sys")
    public Sys sys;

    public WeatherResponse() {
        super();
    }
}

它保守了。我的班级:

@Table(name = "Sys")
public class Sys extends Model {
    @Expose
    @Column(name = "message")
    @SerializedName("message")
    public String message;
    @Expose
    @Column(name = "country")
    @SerializedName("country")
    public String country;
    @Expose
    @Column(name = "sunrise")
    @SerializedName("sunrise")
    public String sunrise;
    @Expose
    @Column(name = "sunset")
    @SerializedName("sunset")
    public String sunset;

    public Sys() {
        super();
    }
}

我找到了一个示例,其中模型包含其他模型的数组。我从这里开始作为例子。enter link description here

但如何保持我的情况我不明白。

public void success(WeatherResponse weatherResponse, Response response) {

                   weatherResponse.save();
                   weatherResponse.sys.save();
               }

1 个答案:

答案 0 :(得分:0)

根据此维基https://github.com/pardom/ActiveAndroid/wiki/Saving-to-the-database,您需要将sys的{​​{1}}字段分配给另一个对象:

WeatherResponse