2015-03-03 78 views
1

我正在構建android應用程序並使用Picasso lib從url下載圖像。如何存儲由畢加索在android下載的圖像?

現在我想下載並存儲在應用程序中,以便隨時隨地使用它。

我使用下面的代碼下載圖像

Picasso.with(getActivity()) 
      .load(profilePic) 
      .transform(new CircleTransform()) 
      .into(userimg); 
+0

如果您編寫自己的asyncTask並使用httpUrlConnection – 2015-03-03 14:25:19

回答

2

Picasso有一個叫做Target攔截Bitmap,因爲它涉及的東西

class MyTarget implements Target { 

    private ImageView imageView; 

    public MyTarget(ImageView imageView) { 
     this.imageView = imageView; 
    } 

    @Override 
    public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) { 
     this.imageView.setImageBitmap(bitmap); 
    } 

} 

有了這個,你可以這樣做:。

Picasso.with(context).load(url).into(new MyTarget(imageView)); 

並設置Bitmap t在ImageView那裏(在Target)。

+0

,您將擁有更多控制感謝@shkschneider能否幫助我告知我應該使用哪個導入目標 – 2015-03-03 14:40:10

+0

它顯示錯誤 - 類'從目標派生的匿名類'必須在'Target' – 2015-03-03 14:42:00

+0

[Target](https://github.com/square/picasso/blob/master/picasso/src/main/java/com/squareup/picasso)中被聲明爲抽象或實現抽象方法'value()' /Target.java)是一個接口,你需要實現它。我會更新我的答案。 – shkschneider 2015-03-03 15:29:49