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

Другие вопросы по тегам