Всем привет. С сервера приходит json с данными. Может быть очень большая строка. Мне нужно при каждой загрузки сохранять эти строки чтобы после если подключения к интернету нет выводились последние сохраненные публикации. Как бы вы поступили на моем месте? Как бы вы сохраняли?
Можно использовать okhttp3.Cache
при работе через Retrofit
.
Пример запроса с кэшированием:
private void loadJSON() {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addNetworkInterceptor(new ResponseCacheInterceptor());
httpClient.addInterceptor(new OfflineResponseCacheInterceptor());
httpClient.cache(new Cache(new File(MyApplication.getMyApplicationInstance()
.getCacheDir(), "ResponsesCache"), 10 * 1024 * 1024));
httpClient.readTimeout(60, TimeUnit.SECONDS);
httpClient.connectTimeout(60, TimeUnit.SECONDS);
httpClient.addInterceptor(logging);
ApiInterface request = ApiClient.getClient(httpClient).create(ApiInterface.class);
Call<NewsResponse> call = request.getHeadlines(source, Constants.API_KEY);
call.enqueue(new Callback<NewsResponse>() {
@Override
public void onResponse(@NonNull retrofit2.Call<NewsResponse> call,
@NonNull Response<NewsResponse> response) {
if (response.isSuccessful()) {
articles.clear();
articles.addAll(response.body().getArticles());
adapter.notifyDataSetChanged();
}
recyclerView.getLayoutManager().scrollToPosition(0);
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Столкнулся с задачей вывода текущей версии приложения, расположенного в репозитории gitСовпадает ли хеш ветки master с хешем последнего коммита...
После команды create-react-app MyApp командная строка пишет, что 'command not found', хотя должен запуститься процесс создания приложения на React