2015-11-14 47 views
2
  • 我得到在我的Android工作室應用中一個Twitter的飼料,用布
  • 爲具有attactched圖像的每個鳴叫,我希望顯示的圖像
  • 我怎樣才能提取一個網址到圖像或字節[]?

我發現看起來像一個字節數組,但是當我嘗試使用位圖decodeByteArray將其解碼,則返回nullAndroid的工作室 - 從Twitter獲得評論圖像 - 面料

      String mediaString = t.entities.media.toString(); 
          String[] mediaArray = mediaString.split("([email protected])"); 
          byte[] mediaBytes = mediaArray[1].getBytes(); 

任何人可以幫助我找到一個方法來獲取圖像,以便我可以顯示它?

回答

0

圖片網址

String mediaImageUrl = tweet.entities.media.get(0).url; 
Bitmap mediaImage = getBitmapFromURL(mediaImageUrl); 
Bitmap mImage = null; 

解碼圖像

private Bitmap getBitmapFromURL(final String mediaImageUrl) { 

    try { 
     Thread t = new Thread() { 
      public void run() { 
       try { 
        URL url = new URL(mediaImageUrl); 
        HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
        connection.setDoInput(true); 
        connection.connect(); 
        InputStream input = connection.getInputStream(); 
        BitmapFactory.Options options = new BitmapFactory.Options(); 
        options.inScaled = false; 
        mImage = BitmapFactory.decodeStream(input, null, options); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }; 
     t.start(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return mImage; 
} 
+1

非常感謝!這是返回null,直到我意識到我需要得到tweet.entities.media.get(0).mediaurl;而不是隻是網址 - 但它的作品:) –

0

我得到的圖像只有當它是可用的,如:

String mediaImageUrl = null; 
     if (tweet.entities.media != null) { 
       String type = tweet.entities.media.get(0).type; 

        if (type.equals("photo")) { 
         mediaImageUrl = tweet.entities.media.get(0).mediaUrl; 
        } 
        else { 
         mediaImageUrl = "'"; 
        } 
          System.out.println("mediaImageUrl" + mediaImageUrl); 
     } 

如果妳使用類型的屬性你可以很容易地區別ferentiates image/video from userTimeLine

+0

請你給我完整的代碼如何讓媒體發生任何事件 –