【问题标题】:Blackberry App, display images from Web黑莓应用程序,显示来自网络的图像
【发布时间】:2009-09-14 13:57:52
【问题描述】:

我正在使用 Blackberry JDE(9000 模拟器),我想知道是否可以显示来自网络的图像。

目前,我看到使用Bitmap.getBitmapResource 来显示黑莓应用程序本地图像的教程,但是查看API,我没有看到任何对提供Web URL 的支持。

还有其他我可以查看的黑莓图像类吗?还是不支持此功能?

【问题讨论】:

    标签: image networking blackberry java-me rim-4.6


    【解决方案1】:

    您可以使用HTTPConnectionInputStream下载图片,从流中创建EncodedImage然后显示。

    coderholic - Blackberry WebBitmapField

    顺便说一句,您可以使用IOUtilities.streamToBytes() 方法直接从 InputStream 中读取字节!

    【讨论】:

    • 但是,鉴于目前在屏幕上显示内容的所有方式都涉及“字段”类......并且只有一个位图字段......这是否意味着显示 EncodedImage 我'我必须写我自己的领域?还是有其他显示图像的方法?如果有,是什么?
    • 如果您阅读链接文章,可以将图像(编码图像)设置为 BitmapField。但是,如果您愿意,您可以在任何扩展 Field 的类中对 paint() 事件执行 graphics.drawImage(),例如。在 MainScreen 或 Horizo​​ntalFieldManager 中。
    • 但它是一个新功能,可以从网络上为图像流式传输数据,所以我建议你实现对 BitmapField 的扩展,这样你就可以多次使用它。
    • 那个教程似乎做了很多事情。但是,我确实通过查看获得了要显示的图像。对我来说,想要扩展 BitmapField 似乎很奇怪,因为 BitmapField 已经处理了 EncodedImages,而且它们似乎并不难生成。感谢您的提示!
    【解决方案2】:

    这是您问题的代码示例:

        HttpConnection httpConn = null;
        InputStream inputStream = null;
        int ResponseCode = HttpConnection.HTTP_OK;
        byte[] ResponseData = null;
    
        try {
            httpConn = (HttpConnection) Connector.open(url, Connector.READ, true); 
    
            ResponseCode = httpConn.getResponseCode();
            if (ResponseCode == HttpConnection.HTTP_OK) {
                inputStream = httpConn.openInputStream();               
                ResponseData = IOUtilities.streamToBytes(inputStream);
            }
        }
        catch(IOException e){
            throw new IOException("HTTP response code: "
                    + ResponseCode);
        }
        finally {
            try {
                inputStream.close();
                inputStream = null;
                httpConn.close();
                httpConn = null;
            }
            catch(Exception e){}
        }
        return ResponseData;
    

    【讨论】:

      【解决方案3】:

      如果您想要完全做到这一点的代码(尽管这篇文章很旧,所以我猜您不再需要了)

      Here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多