Retrofit / OKHttp - кешировать POST-запрос и повторять попытки при подключении - PullRequest
0 голосов
/ 21 февраля 2019

Чтобы кешировать отклик, напишите такой код:

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 в очереди должны отправляться как можно быстрее, когда устройство снова подключено к сети, без необходимости запуска моего приложения

Я думаю, последнее требованиебудет сложнее всего, есть идеи?Если автоматическая повторная попытка в фоновом режиме невозможна, запросы из очереди могут выполняться при запуске приложения или после отправки уведомлений о щелчке уведомления могут отображаться уведомления о запросах на отправку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...