您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何从网址加载图片

如何从网址加载图片

这似乎不太理想,但是如果您将字节流逐字节读取到缓冲区中,然后将字节数组传递给BitmapFactory,它将正常工作。

            URL url = new URL("http://farm5.static.flickr.com/4132/5168797476_7a85deb2be_b.jpg");
            URLConnection con = url.openConnection();
            con.connect();
            int fileLength = con.getContentLength();
            InputStream is = con.getInputStream();
            byte[] bytes = new byte[fileLength];
            for(int i=0;i<fileLength;i++) {
                bytes[i] = (byte)is.read();
            }
            sourceBitmap = BitmapFactory.decodeByteArray(bytes, 0, fileLength);

我尝试使用is.read(bytes,0,fileLength)一次将字节读取到缓冲区中,但是除非我在调用read之前稍等片刻,否则它无法可靠地完全填充缓冲区。android的InputStream的read方法的实现是否有缺陷,导致BitmapFactory的encodeStream方法由于数据不完整而失败?

其他 2022/1/1 18:36:05 有470人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶