Android: кэшировать данные GSON в базе данных sqlite
Я хочу использовать локальную базу данных 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 использовать этот "специальный" конструктор и выбрать контекст Райта?
1 ответ
Решение
С выпуском 1.3 сахар не требует параметра Context в конструкторе. Таким образом, классам Gson легко использовать Sugar.
В частности, с Gson, вы можете использовать их собственные сериализаторы, если у вас нет конструктора по умолчанию. Подробнее здесь.. https://sites.google.com/site/gson/gson-user-guide