首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

真机图片显示有关问题啊

2011-12-01 
真机图片显示问题啊 从网络上下载的图片在真机上显示不了(机子为6300)而GPGS一直在跑不知道什么原因啊?请

真机图片显示问题啊

从网络上下载的图片   在真机上显示不了(机子为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;
}
}

-----------------------------------------



//CanvasTest.java
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;

public class CanvasTest extends Canvas implements CommandListener {
private Image image;
private String url = "http://neoimaging.beareyes.com.cn/png/ni_png_0007.png ";

public CanvasTest() {
try {
HttpConnection http = (HttpConnection)Connector.open(url);
InputStream is = http.openInputStream();
image = Image.createImage(is);
} catch (IOException ex) {
ex.printStackTrace();
}
addCommand(new Command( "退出 ", Command.EXIT, 1));
setCommandListener(this);
}

public void commandAction(Command _command, Displayable _displayable) {
if (_command.getCommandType() == Command.EXIT) {
MainMidlet.quitApp();
}
}

protected void paint(Graphics g) {
//缓冲清屏
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());

//开始画
if(image != null) {
g.drawImage(image, 0, 0, Graphics.TOP | Graphics.LEFT);
}
}
[解决办法]
用JB打包,在真机上就可以读网络图片了?代码没修改?

热点排行