我想使用本地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上下文?
解决方法:
在1.3版本中,Sugar在构造函数中不需要Context参数.因此,Gson类可以轻松使用Sugar.
特别是对于Gson,如果没有默认构造函数,则可以使用其自定义序列化程序.此处有更多详细信息.https://sites.google.com/site/gson/gson-user-guide#TOC-Custom-Serialization-and-Deserialization