从imgur显示图像

时间:2013-12-21 23:55:21

标签: android imgur

我能够在Imgur中上传图片并使用API​​网站中提供的示例获取链接。 我不能做的是从URL检索Bitmap或Drawable。 我找不到有关它的文档。

URL url= "http://imgur.com/1awAsRh"
Bitmap mPic = BitmapFactory.decodeStream(url.openConnection().getInputStream());

mPic为空。

我看到网站上的图片网址为http://i.imgur.com/1awAsRh.jpg 我看到图片可以是png jpg等...

有没有办法获得直接的图片网址,它是否总是相同的模式?

提前Tx!

2 个答案:

答案 0 :(得分:0)

尝试使用它,它实现了AsyncTask以在后台执行操作(Android 4.0 +需要):

class loadimage extends AsyncTask<Void, Void, Void> {
    ProgressDialog pdLoading = new ProgressDialog(YourClass.this);

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pdLoading.setMessage("Loading Image...");
        pdLoading.show();
    }

    @Override
    protected void doInBackground(Void... params) {
        String stringurl = "http://imgur.com/1awAsRh"
        try {
            Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(stringurl).getContent());
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        pdLoading.dismiss();
        // do what you want with your bitmap
        return null;
    }
}

然后在onCreate

中将其称为此类似字符
new loadimage().execute();

您还需要确保在清单中包含此内容:

<uses-permission android:name="android.permission.INTERNET" />

答案 1 :(得分:0)

我解决了。

来自Imgur API页面:https://api.imgur.com/models/image

而不是获取id参数,我可以使用链接参数(来自JSON)