真机图片显示问题啊
从网络上下载的图片 在真机上显示不了(机子为6300) 而GPGS 一直在跑 不知道什么原因啊? 请大家帮忙啊
代码如下:
HttpConnection h= (HttpConnection)Connector.open(URL);
DataInputStream dis = null;
dis = h.openDataInputStream();
ByteArrayOutputStream dos = null;
int ch = (int) h.getLength();
byte png[] = null;
if (ch != -1) {
png = new byte[ch];
dis.readFully(png);
} else {
dos = new ByteArrayOutputStream();
int hh;
while ((hh = dis.read()) != -1) {
dos.write(hh);
}
png = dos.toByteArray();
}
image=Image.createImage(png, 0, png.length);
repaint();
}
catch(
IOException ioe)
{
System.out.println(ioe);
}
catch(Exception e)
{
System.out.println(e);
}
------解决方案--------------------看具体报什么异常
------解决方案--------------------你 返回的是移动的资费提示wml 文件吧
你把它当png来解析,当然是非法参数异常了
------解决方案--------------------你确定你的资源是png吗?很多手机不支持其他格式图片的,比如jpg等。
------解决方案--------------------//MainMidlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MainMidlet extends MIDlet {
private static MainMidlet instance;
private Displayable nowScreen;
private Display display;
public MainMidlet() {
instance = this;
nowScreen = new CanvasTest();
}
public void startApp() {
display = Display.getDisplay(this);
display.setCurrent(nowScreen);
}
public void pauseApp() {
nowScreen = display.getCurrent();
}
public void destroyApp(boolean unconditional) {
}
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
}
-----------------------------------------