2011年3月10日木曜日

Twitter4j でプロフィールのイメージを表示

先の投稿、Twitter4jでxAuth認証 で作成した、TwitterWrapperを使用しています。

Activityの中で。

  1. TwitterWrapper twa = new TwitterWrapper();  
  2.         // TwitterWrapperに用意してあるmethodで、SharedPreferencesに保存してあるTwitterの  
  3.         // oAuth Token と oAuth Token Secretを使って、アカウントをログイン状態にしています。  
  4.         twitter = twa.getAuthorizedTwitter(this);  
  5.           
  6.         // SharedPreferencesに保存しておいた、設定を取得  
  7.         SharedPreferences pref =   
  8.             getSharedPreferences(Values.TWITTER_PREFERENCE_NAME, Activity.MODE_PRIVATE);  
  9.         // SharedPreferencesに保存しておいた、ScreenNameを取得  
  10.         String screenName = pref.getString(Values.TWITTER_ID_KEY,"NONE");  
  11.           
  12.         try {  
  13.             // ScreenNameをつかって、Userのデータを取得。  
  14.             User user = twitter.showUser(screenName);  
  15.             // ScreenNameをつかって、UserのProfile画像のURLを取得。  
  16.             URL imageURL = user.getProfileImageURL();  
  17.             Bitmap profile = null;  
  18.             // これは、適当にViewのLayoutファイルと紐付けしてください。  
  19.             ImageView imgv = (ImageView)findViewById(R.id.userIcon);  
  20.             try {  
  21.                 // BitmapFactory.decodeStreamでビットマップを作成。  
  22.                 profile = BitmapFactory.decodeStream(  
  23.                     imageURL.openConnection().getInputStream());  
  24.                 if ( profile != null ) {  
  25.                     // ちゃんと画像が取得できた時だけ、ImageViewにせってい  
  26.                     imgv.setImageBitmap(profile);  
  27.                 }  
  28.             } catch (IOException e) {  
  29.                 // 取れなかったら無視、レイアウトファイルに  
  30.                 // デフォルト画像のsrcを設定しておくとそれが出ます。  
  31.             }  
  32.               
  33.         } catch (TwitterException e) {  
  34.             e.printStackTrace();  
  35.         }