程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何从网址加载图片大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何从网址加载图片?

开发过程中遇到如何从网址加载图片的问题如何解决?下面主要结合日常开发的经验,给出你关于如何从网址加载图片的解决方法建议,希望对你解决如何从网址加载图片有所启发或帮助;

这似乎不太理想,但是如果您将字节流逐字节读取到缓冲区中,然后将字节数组传递给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);
@H_502_4@

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

解决方法

@H_607_13@

我正在为Android编写一个小相框应用程序,它使用opengl作为部分UI。这部分需要从flickr获取图像并将其加载到纹理中。我下面的代码大多数时候都可以使用,但是在从连接获取输入流和对流进行位图解码的位之间,它具有Thread.sleep()缺点:

            URL url = new URL("http://farm5.static.flickr.com/4132/5168797476_7a85deb2be_b.jpg");
            URLConnection con = url.openConnection();
            InputStream is = con.geTinputStream();
            Thread.sleep(250); //what am I actually waiTing for?
            sourceBitmap = BitmapFactory.decodeStream(is);

我如何使用sleep()方法来支持具有逻辑意义的内容?

我正在不在模拟器中的三星银河标签上进行测试

大佬总结

以上是大佬教程为你收集整理的如何从网址加载图片全部内容,希望文章能够帮你解决如何从网址加载图片所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。