2016-09-07 4 views
-4

イメージをサーバーにアップロードしてから、特定のURLに従って読み込むアプリを作った。質問:アップロード前にその画像の正確なURLを知っていれば、新しいリクエストを行わずにキャッシュすることは可能ですか?あなたは:まずAndroid Picassoで手動キャッシュを作成する

import android.content.Context; 
import com.squareup.picasso.Downloader; 
import com.squareup.picasso.OkHttpDownloader; 
import com.squareup.picasso.Picasso; 

public class PicassoCache { 

    /** 
    * Static Picasso Instance 
    */ 
    private static Picasso picassoInstance = null; 

    /** 
    * PicassoCache Constructor 
    * 
    * @param context application Context 
    */ 
    private PicassoCache (Context context) { 

     Downloader downloader = new OkHttpDownloader(context, Integer.MAX_VALUE); 
     Picasso.Builder builder = new Picasso.Builder(context); 
      builder.downloader(downloader); 

     picassoInstance = builder.build(); 
    } 

    /** 
    * Get Singleton Picasso Instance 
    * 
    * @param context application Context 
    * @return Picasso instance 
    */ 
    public static Picasso getPicassoInstance (Context context) { 

     if (picassoInstance == null) { 

      new PicassoCache(context); 
      return picassoInstance; 
     } 

     return picassoInstance; 
    } 

} 

独自のシングルトンピカソオブジェクトを取得する代わりにPicasso.With()3番目の質問について

PicassoCache.getPicassoInstance(getContext()).load(imagePath).into(imageView) 

答えの独自のシングルトンピカソオブジェクトを使用して新しいクラスを作成

答えて

0

ディスクキャッシュの操作にディスクのパーミッションは不要

関連する問題