Android 如何从FaceBook获得清晰的图像

Android 如何从FaceBook获得清晰的图像,android,android-facebook,Android,Android Facebook,我使用了Facebook墙贴图片的graph API Json响应,并在我的应用程序中显示,我成功地获得了它。但是墙上的图像看起来很模糊,怎么解决呢?我使用这个代码来获取墙上的图片 URL url=new URL(hashMap.get("picture_url")); bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream()); ((ImageView)view.findViewById(R.id.image

我使用了Facebook墙贴图片的graph API Json响应,并在我的应用程序中显示,我成功地获得了它。但是墙上的图像看起来很模糊,怎么解决呢?我使用这个代码来获取墙上的图片

URL url=new URL(hashMap.get("picture_url"));
bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream());
((ImageView)view.findViewById(R.id.imageView_FullImage)).setImageBitmap(bitmap)

Facebook Graph API以及FQL数据集始终返回缩略图的图片URL。如果您查看它返回的URL,它将有以下其中一个结尾(就在图像扩展名.jpg、.png等之前)\t.\u a.。例如,如果URL指向一个JPG文件,它可能有一个结尾\u t.JPG

其思想是交换结尾,并为返回的图像选择一个正常大小。要做到这一点,请使用下面的代码,将尾端替换为正常大小图像的尾端(应该有\n.

顺便说一下,我不认为你要找的标签是图片url。它应该是图片。但无论如何,请按如下所示获取源URL,替换结尾,然后将其传递到代码中的此行:

// THIS SHOULD BE AFTER THE if....else code block
bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream());
替换各种缩略图的代码:顺便说一下,这是生产代码,工作非常完美

注意:但是,在某些情况下,如视频预览或链接预览,它并不总是有更大的图像可用。我怀疑你对此无能为力,Facebook也无能为力。这些通常来自其他网站用户共享的帖子

String PICTURE_URL;
String getPicture = JOFeeds.getString("picture");

if (getPicture.contains("_t.")) {
    PICTURE_URL = getPicture.replaceAll("_t.", "_n.");
} else if (getPicture.contains("_a.")) {
    PICTURE_URL = getPicture.replaceAll("_a.", "_n.");
} else if (getPicture.contains("_s.")) {
    PICTURE_URL = getPicture.replaceAll("_s.", "_n.");
} else if (getPicture.contains("_q.")) {
    PICTURE_URL = getPicture.replaceAll("_q.", "_n.");
}