如何在j2me中显示在线图像?

时间:2012-07-09 00:56:55

标签: java image java-me

我知道如何在J2me中显示本地图像。如何显示在线图像?以下代码(下面的图像URL仅用于演示目的)不产生任何效果。

Image logo = Image.createImage("http://whatever.com/img/whatever.png");

由于

2 个答案:

答案 0 :(得分:1)

这样的问题的第一个停靠点应该是MIDP 2.0 Javadocs

在那里,您会看到createImage有一个overload接受InputStream;这将做你需要的。

或者,您可以将整个图像下载到字节数组中,并使用createImage的{​​{3}}。

答案 1 :(得分:1)

您需要通过HttpConnection

手动加载图片

使用此方法加载图片:

public Image loadImage(String url) throws IOException {
    HttpConnection hpc = null;
    DataInputStream dis = null;
    try {
      hpc = (HttpConnection) Connector.open(url);
      int length = (int) hpc.getLength();
      byte[] data = new byte[length];
      dis = new DataInputStream(hpc.openInputStream());
      dis.readFully(data);
      return Image.createImage(data, 0, data.length);
    } finally {
      if (hpc != null)
        hpc.close();
      if (dis != null)
        dis.close();
    }
}

另见this tutorial