Чтобы кешировать отклик, напишите такой код:
int cacheSize = 10 * 1024 * 1024; // 10 MB
Cache cache = new Cache(getCacheDir(), cacheSize);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.cache(cache)
.build();
Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl("http://10.0.2.2:3000/")
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create());
Retrofit retrofit = builder.build();
Но мне также нужно кешировать и ставить POST-запросы в очередь и пытаться повторить их автоматически в фоновом режиме.Я не могу найти ни одного примера, как это сделать с Retrofit2, вы можете помочь?Мои требования:
- В автономном режиме запрос POST не следует отклонять, в случае неудачи он должен ставиться в очередь
- Должна быть предусмотрена возможность повторного подсчета
- запросов POST.следует отправлять, даже если мое приложение не запущено, я имею в виду, что все POST в очереди должны отправляться как можно быстрее, когда устройство снова подключено к сети, без необходимости запуска моего приложения
Я думаю, последнее требованиебудет сложнее всего, есть идеи?Если автоматическая повторная попытка в фоновом режиме невозможна, запросы из очереди могут выполняться при запуске приложения или после отправки уведомлений о щелчке уведомления могут отображаться уведомления о запросах на отправку.