我正在尝试使用Android中的FaceBook Profile pic
检索我的Url
。我无法检索任何图像。我没有错误日志,但我得到以下日志。
04-05 04:14:41.005: D/skia(2987): --- SkImageDecoder::Factory returned null
。我发布了代码。请一步一步告诉我我做错了什么。
final ImageView photoImageView=(ImageView)findViewById(R.id.imageView1);
AsyncTask<Void, Void, Bitmap> t = new AsyncTask<Void, Void, Bitmap>(){
protected Bitmap doInBackground(Void... p) {
Bitmap bm = null;
try {
URL aURL = new URL("http://graph.facebook.com/+"id"+/picture?type=small");
URLConnection conn = aURL.openConnection();
conn.setUseCaches(true);
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
bm = BitmapFactory.decodeStream(bis);
bis.close();
is.close();
// photoImageView.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
return bm;
}
protected void onPostExecute(Bitmap bm){
// Drawable drawable = new BitmapDrawable(getResources(), bm);
photoImageView.setImageBitmap(bm);
// photoImageView.setBackgroundDrawable(drawable);
}
};
t.execute();
答案 0 :(得分:0)
URL aURL = new URL("https://graph.facebook.com/"+id+"/picture?type=small");
试试这个。
如果id
integer
转换为string
也不是http
,请尝试https
答案 1 :(得分:0)
请尝试以下代码,这对我来说非常有用。
try {
URL image_value = new URL("http://graph.facebook.com/"+ user.getId()+ "/picture?type=large");
Bitmap bmp = null;
try {
bmp = BitmapFactory.decodeStream(image_value.openConnection().getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
profile_pic.setImageBitmap(bmp);
} catch (MalformedURLException e) {
e.printStackTrace();
}