3

我想使用本地 sqlite 数据库来缓存所有 gson 对象。因此,我创建了一些像这样的 Gson 类:

package com.getbro.bro.Json;
import com.google.gson.annotations.SerializedName;
public class User  extends Item {

    public User(String Sex, String UserName, String[] Followed){
        this.Sex = Sex;
        this.UserName = UserName;
        this.Followed = Followed;
    }

    @SerializedName("sex")
    public String Sex;

    @SerializedName("username")
    public String UserName;

    @SerializedName("followed")
    public String[] Followed;

    @Override
    public String toString() {
        return UserName;
    }
}

现在我想使用这个类作为 Sugar ORM 模型,但是,我必须将构造函数重写为这样的:

public User(Context c, String Sex, String UserName, String[] Followed){
        this.Sex = Sex;
        this.UserName = UserName;
        this.Followed = Followed;
}

如何让 Gson 使用这个“特殊”构造函数并选择 wright 上下文?

4

1 回答 1

4

在 1.3 版本中,sugar 不需要构造函数中的 Context 参数。因此,Gson 类可以轻松使用 Sugar。

特别是对于 Gson,您可以使用他们的自定义序列化程序,以防您没有默认构造函数。更多细节在这里.. https://sites.google.com/site/gson/gson-user-guide#TOC-Custom-Serialization-and-Deserialization

于 2014-07-29T00:47:28.833 回答