Вы можете загрузить изображение, используя такой код:
private Image getImage(String url) {
ContentConnection c = null;
DataInputStream dis = null;
try {
try {
c = (ContentConnection) Connector.open(url);
int len = (int) c.getLength();
dis = c.openDataInputStream();
if (len > 0) {
byte[] data = new byte[len];
dis.readFully(data);
im = Image.createImage(data, 0, data.length);
}
} catch (IOException ioe) {
// Failed to read the url. Can't do anything about it, just don't
// update the image.
} finally {
// Regardless of whether we are successful, we need to close
// Connections behind us. Basic Housekeeping.
if (dis != null) {
dis.close();
}
if (c != null) {
c.close();
}
}
} catch (IOException ioe) {
// closure of connections may fail, nothing we can do about it.
}
}
Image
может отображаться в Form
как ImageItem
, например:
ImageItem imgItem =
new ImageItem("Default: ", getImage(url),
Item.LAYOUT_CENTER, null,
Item.BUTTON);
Кстати, приведенный выше фрагмент кода должен использоваться только для одиночный статическая карта. Изображение - не поддавайтесь соблазну переопределить Canvas.paint()
и использовать это для динамического обновления карты - для этого требуется объем трафика данных. highly inefficient и альтернативные решения (как описано в этом вопросе here).