Android 向ImageView显示头像Facebook

Android 向ImageView显示头像Facebook,android,Android,我使用如下代码向ImageView显示facebook头像 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView img = (ImageView) findViewById(R.id.imgAvatar); img.setImageBitm

我使用如下代码向ImageView显示facebook头像

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    ImageView img = (ImageView) findViewById(R.id.imgAvatar);
    img.setImageBitmap(getBitmapFromURL("http://graph.facebook.com/"+"100002394015528"+"/picture"));
}
public static Bitmap getBitmapFromURL(String src) {
    try {
        URL url = new URL(src);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.connect();
        InputStream input = connection.getInputStream();
        Bitmap myBitmap = BitmapFactory.decodeStream(input);
        return myBitmap;
    } catch (IOException e) {   
        e.printStackTrace();
        return null;
    }
}`

但它不起作用。请帮帮我。

http://graph.facebook.com/id/picture
不返回图像。它返回一些响应头,包括302重定向和位置头

您的示例实例重定向到:
http://profile.ak.fbcdn.net/hprofile-ak-snc4/211619_100002394015528_568817_q.jpg

所以不是

InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);

您需要从请求中获取标题,跟踪位置,然后执行之前所做的操作。我不知道安卓,也不知道那是什么语言。(Java?)

 public static String getUrlFacebookUserAvatar(String name_or_idUser )
 {
    String address = "http://graph.facebook.com/"+name_or_idUser+"/picture";
    URL url;
    String newLocation = null;
    try {
        url = new URL(address);
        HttpURLConnection.setFollowRedirects(false); //Do _not_ follow redirects!
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        newLocation = connection.getHeaderField("Location");
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return newLocation;
}

你能不能更具体一点?