Я пытаюсь загрузить и кешировать изображение с помощью picasso с веб-сервера. Я нашел решение прямо здесь: https://stackoverflow.com/a/30686992/6884064Picasso с OKHttp не отображает изображение: ошибка журнала
Picasso.Builder builder = new Picasso.Builder(this);
builder.downloader(new OkHttpDownloader(this,Integer.MAX_VALUE));
Picasso built = builder.build();
built.setIndicatorsEnabled(true);
built.setLoggingEnabled(true);
Picasso.setSingletonInstance(built);
Picasso.with(this)
.load("http://i.imgur.com/Q85lste.jpg")
.networkPolicy(NetworkPolicy.OFFLINE)
.into(coverImg);
build.gradle:
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
Когда я запускаю это мой заполнителем изображение исчезает, но новое изображение не загружается в
Прогон. log дает мне это:
D/Picasso: Main created [R0] Request{http://i.imgur.com/Q85lste.jpg}
D/Picasso: Dispatcher enqueued [R0]+6ms
D/Picasso: Hunter executing [R0]+7ms
W/System.err: remove failed: ENOENT (No such file or directory) : /data/user/0/com.test.example1/cache/picasso-cache/journal.tmp
D/Picasso: Dispatcher batched [R0]+45ms for error
D/Picasso: Dispatcher delivered [R0]+246ms
D/Picasso: Main errored [R0]+246ms
Кто-нибудь знает, что здесь происходит? Благодаря!
EDIT:
Он работает с этим кодом:
OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.networkInterceptors().add(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Response originalResponse = chain.proceed(chain.request());
return originalResponse.newBuilder().header("Cache-Control", "max-age=" + (60 * 60 * 24 * 365)).build();
}
});
okHttpClient.setCache(new Cache(getCacheDir(), Integer.MAX_VALUE));
OkHttpDownloader okHttpDownloader = new OkHttpDownloader(okHttpClient);
Picasso picasso = new Picasso.Builder(this).downloader(okHttpDownloader).build();
picasso.load("http://i.imgur.com/test.jpg").into(coverImg);
У меня был только первый набор разрешений. Настроил его сейчас и попробовал оба (мой телефон и эмулятор. На моем телефоне ничего не изменилось -> по-прежнему получалась такая же ошибка. На моем эмуляторе я получаю другую ошибку: D/NetworkSecurityConfig: нет настроек сетевой безопасности, используя платформа по умолчанию –
Вы правы. Я копирую эти коды из своего приложения и забываю проверить их!: d –
Я попытаюсь найти способы устранения неполадок с помощью других способов помочь вам. –