2016-09-09 2 views
0

Мне нужно выполнить сериализацию экземпляра Retrofit Call, который будет выполнен позднее.Сериализация Дооснащение Объект вызова

Вот пример вызова:

Calls calls = NetworkHelper.getRetrofit().create(Calls.class); 
Call<JsonResponse> call = calls.checkInAtEvent(user.getTokenID()); 

Мне нужно сериализовать его и хранить в OrmLite так что, когда пользователь открывает приложение снова этот вызов выполняется.

Единственный способ, которым я думал об этом, - сохранить метод checkInAtEvent и параметр user.getTokenID() в объекте, чтобы я мог идентифицировать вызов и выполнить его. Но, поскольку у меня есть несколько вызовов, мне нужно будет использовать Reflect для создания экземпляра объекта для данного имени строки.

Есть ли более простой способ, возможно, использование OkHttp или что-то еще?

Спасибо.

ответ

0

Если вы правильно поняли, необходимо сохранить команду, которая будет выполнена, когда приложение будет возобновлено. Тот факт, что это переоснащение, является побочным вопросом ИМО. Я бы просто сохранил флаг в SharedPreferences и отметьте его при запуске. Если он есть, выполните вызов и удалите флаг. Вы можете хранить любую необходимую информацию, такую ​​как ID вместе с ней, или как значение для пары ключ-значение. Если у вас есть несколько разных вещей, которые вам, возможно, придется делать при запуске, это тоже можно обрабатывать, но, возможно, немного по-другому.

Смежные вопросы