-2

我正在从 URL 下载图像并将其显示在ImageView. 我需要以完整的原始大小下载图像。我试过 Glide、Picasso 和 Universal Image Loader,但没有成功。是否有任何图书馆或方法可以实现这一目标?我什至试着自己AsyncTask做,像这样:

public class ImageLoader extends AsyncTask<Void, Void, Bitmap> {

    @Override
    protected Bitmap doInBackground(Void... params) {

        try {
            URL url = new URL(bundle.getString("selectedImage"));
            HttpURLConnection conn = 
            (HttpURLConnection)url.openConnection();
            conn.setReadTimeout(6000);
            conn.setConnectTimeout(6000);
            conn.setRequestMethod("GET");
            conn.setDoInput(true);
            conn.connect();
            int respose = conn.getResponseCode();
            InputStream is = conn.getInputStream();
            BufferedInputStream bufferedInputStream = new 
            BufferedInputStream(is);
            bitmap = BitmapFactory.decodeStream(bufferedInputStream);

            return bitmap;

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }

但没有成功。有人有什么可以帮助我的吗?

4

3 回答 3

0

我不太确定“完整的原始尺寸”是什么意思。仅仅通过下载它们,我还没有体验过任何图像的自动缩放。

也许你可以仔细检查你android:scaleType在 target 上有一个合适的ImageView。您可以在此处阅读有关比例类型属性的不同值的更多信息:http: //developer.android.com/reference/android/widget/ImageView.ScaleType.html

如果要平移图像,例如浏览器中的“未缩放”网页(通常当图像大于屏幕时),您可能需要添加更多逻辑来管理它。也许它可以像ScrollView包装你的一样简单ImageView(当然,它会包装它的内容)。

于 2015-08-11T20:09:58.867 回答
0

1) 尝试使用 Volley 库。 https://developer.android.com/training/volley/request.html#request-image

2) 使用WebView代替ImageView

于 2015-08-11T19:51:23.257 回答
0

错误归结为照片桶给了我一个缩小的 URL,而不是我使用了 flikr,在我的设备上我得到的图像几乎与我的原始图像相同(毕加索限制为 2048x2048)但在其他设备上我似乎仍然得到 1080 x 910 图像,将进一步调查,但似乎答案是不使用照片桶

于 2015-08-12T16:51:02.043 回答