2

私はFacebook Wall Post ImagesのグラフAPI Json Responseを使用し、APPに表示しました。しかし、壁の画像が非常にぼやけているように見えます。解決方法は? 壁の画像を取得するためにこのコードを使用しました

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

1 に答える 1

2

Facebook Graph API と FQL データ セットは、常にサムネイルの画像 URL を返します。返される URL を見ると、これらのいずれかの末尾 (画像拡張子 .jpg、.png などの直前) _t が含まれています。_a。. たとえば、URL が JPG ファイルの場合、_t.jpgで終わる可能性があります。

アイデアは、エンディングを入れ替えて、返される画像の通常のサイズを選択することです。これを行うには、以下のコードを使用して、末尾を通常のサイズの画像の末尾に置き換えます ( _n.が必要です) 。

ところで、お探しのタグはpicture_urlではないと思います。それはただの絵であるべきです。ただし、以下に示すようにソース URL を取得し、末尾を置き換えてから、コード内のこの行に渡します。

// THIS SHOULD BE AFTER THE if....else code block
bitmap=BitmapFactory.decodeStream(url.openConnection().getInputStream());

さまざまなサムネイル画像を置き換えるコード:ちなみに、これは製品コードであり、完全に機能します。

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.");
}

注: ただし、場合によっては、ビデオ プレビューやリンク プレビューなど、より大きな画像が利用できるとは限りません。あなたがそれについてできることはあまりなく、Facebookもできないと思います。これらは通常、他の Web サイトのユーザーによって共有された投稿から発生します。

于 2013-03-30T07:34:47.487 に答える