2014-03-01 398 views
0

我正在使用Twitter4J圖書館。 我想在一個圓圈中顯示用戶圖片配置文件。 我是新來的使用位圖和新來從服務器獲取的東西。Android - Manipulate Twitter個人資料圖片

現在,搜索周圍,我用這種方式:

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { 
    ImageView bmImage; 

    public DownloadImageTask(ImageView bmImage) { 
     this.bmImage = bmImage; 
    } 

    protected Bitmap doInBackground(String... urls) { 
     String urldisplay = urls[0]; 

     try { 
      SharedPreferences mSharedPreferences = getActivity().getSharedPreferences("MyPref",0); 

      ConfigurationBuilder builder = new ConfigurationBuilder(); 
      builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
      builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 

      // Access Token 
      String access_token = mSharedPreferences.getString(
        PREF_KEY_OAUTH_TOKEN, ""); 
      // Access Token Secret 
      String access_token_secret = mSharedPreferences.getString(
        PREF_KEY_OAUTH_SECRET, ""); 

      AccessToken accessToken = new AccessToken(access_token, 
        access_token_secret); 
      Twitter twitter = new TwitterFactory(builder.build()) 
        .getInstance(accessToken); 

      User user = twitter.showUser(accessToken.getUserId()); 
      urldisplay = user.getProfileImageURL(); 




     } catch (TwitterException e) { 
      // Error in updating status 
      Log.d("Twitter Update Error", e.getMessage()); 
     } 




     Bitmap mIcon11 = null; 
     try { 
      InputStream in = new java.net.URL(urldisplay).openStream(); 
      mIcon11 = BitmapFactory.decodeStream(in); 
     } catch (Exception e) { 
      Log.e("Error", e.getMessage()); 
      e.printStackTrace(); 
     } 

     final int width = mIcon11.getWidth(); 
     final int height = mIcon11.getHeight(); 
     final Bitmap outputBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 

     final Path path = new Path(); 
     path.addCircle(
       (float)(width/2) 
       , (float)(height/2) 
       , (float) Math.min(width, (height/2)) 
       , Path.Direction.CCW); 

     final Canvas canvas = new Canvas(outputBitmap); 
     canvas.clipPath(path); 
     canvas.drawBitmap(mIcon11, 0, 0, null); 

     return outputBitmap; 
    } 

    protected void onPostExecute(Bitmap result) { 
     bmImage.setImageBitmap(result); 
    } 
} 

但在這樣的圖片被載入每次我重新打開應用程序時..

我想調整的位圖和給它一個邊框等,但我會在後面搜索如何做到這一點。 我認爲會更好,如果當用戶登錄到Twitter我下載一次他的個人資料圖片,然後我每次都重複使用它是需要的。 這可能嗎?什麼是更好的方式來做我想要的?謝謝。

回答

相關問題