Есть ли способ загрузить изображения в кеш изображений Пикассо, указав используемый ключ кеша?
Кстати, если это невозможно, я внес необходимые изменения, но не знаю, как перестроить банку. Любые инструкции по восстановлению Picasso очень ценятся.
Есть ли способ загрузить изображения в кеш изображений Пикассо, указав используемый ключ кеша?
Кстати, если это невозможно, я внес необходимые изменения, но не знаю, как перестроить банку. Любые инструкции по восстановлению Picasso очень ценятся.
Вы можете вызвать стабильный ключ для вашего объекта requestCreator.
Это будет так: Picasso.with(context).load(yourURL).stableKey(yourKey).into(textView);
Я не нашел публичного доступа к этой функциональности, но для меня работает этот обходной путь:
//1. Init picasso, create cache
mCache = new LruCache(mContext);
mPicasso = new Picasso.Builder(mContext).memoryCache(mCache).build();
//2. Load bitmap
mPicasso.load(uri).resize(mThumbWidth, mThumbHeight).centerCrop().into(v, callback);
//3. In case of error (for example, in callback), you can manually download the picture and store to cache
Bitmap bmp = <custom load>
//make key
StringBuilder sb = new StringBuilder(uri);
sb.append("\nresize:").append(mThumbWidth).append("x").append(mThumbHeight).append("\ncenterCrop\n");
mCache.set(sb.toString(), bmp);
Обратите внимание, что ключ используется uri и ваше пользовательское преобразование (изменение размера, центрирование и т. д., см. подробнее на com.squareup.picasso.Utils#createKey)
это сработало для меня
String strUrl = WWW.sultan.com....;
Bitmap = bitmap;
Picasso.with(Profile.this).load(strUrl).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
userImage.setImageBitmap(bitmap);
this.bitmap = bitmap; //this can be used any where in the code
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});