Pessoal to começando com o J2ME e to com alguns problemas, eu to testando conexao com internet, é somente a exibiçao de uma imagem. A parte do codigo que tenta abrir conexao é :
Warning: To avoid potential deadlock, operations that may block, such as
networking, should be performed in a different thread than the
commandAction() handler.
Bem eu gostaria de saber que tipo de problema é este, e se eu posso testar conexao no emulador q o netbeans da, ou se tem q ser em um celular mesmo…
quanto ao seu erro, poste o código todo, de preferencia dentro das tags [code]
P
PoneyMan
Pedro Saavedra:
Bom dia,
Pessoal to começando com o J2ME e to com alguns problemas, eu to testando conexao com internet, é somente a exibiçao de uma imagem. A parte do codigo que tenta abrir conexao é :
Warning: To avoid potential deadlock, operations that may block, such as
networking, should be performed in a different thread than the
commandAction() handler.
Bem eu gostaria de saber que tipo de problema é este, e se eu posso testar conexao no emulador q o netbeans da, ou se tem q ser em um celular mesmo…
Grato pela atençao…grande abraço a todos…
A mensagem foi clara: O ambiente recomendou que você use thread para evitar que o usuário perca a responsividade da aplicação.
[color=red][size=18]Primeiro coloque seu código entre as tags [code]
[/size][/color]
Segundo, cadê a implementação da thread??????? :?
P
Pedro_Saavedra
Segue todo codigo abaixo.......... PESSOAL VLU A ATENÇAO !!!!
publicclassConexaoFotoextendsMIDletimplementsCommandListener{privateDisplaydisplay;privateFormform;privateTextBoxtbox;privateCommandcmdExit;privateCommandcmdView;privateCommandcmdBack;publicConexaoFoto(){display=Display.getDisplay(this);form=newForm("Formulario foto");cmdExit=newCommand("Exit",Command.EXIT,1);cmdView=newCommand("View",Command.SCREEN,1);cmdBack=newCommand("Back",Command.BACK,1);tbox=newTextBox("Digite a URL","http://www1.folha.uol.com.br/folha/especial/2007/"+"campeonatobrasileiro/images/escudo-flamengo-80x80.gif",150,0);tbox.addCommand(cmdExit);tbox.addCommand(cmdView);tbox.setCommandListener(this);form.addCommand(cmdBack);form.setCommandListener(this);}publicvoidstartApp(){display.setCurrent(tbox);}publicvoidpauseApp(){}publicvoiddestroyApp(booleanunconditional){}publicvoidcommandAction(Commandc,Displayabled){if(c==cmdExit){destroyApp(true);notifyDestroyed();}elseif(c==cmdView){try{Imageim;if((im=getImage(tbox.getString()))!=null){ImageItemii=newImageItem(null,im,ImageItem.LAYOUT_DEFAULT,null);if(form.size()!=0){form.set(0,ii);}else{form.append(ii);}}else{display.setCurrent(form);}}catch(Exceptione){e.printStackTrace();}}}privateImagegetImage(Stringurl)throwsIOException{ContentConnectionconnection=(ContentConnection)Connector.open(url);InputStreamistrm=connection.openDataInputStream();Imageim=null;try{byte[]imageData=null;intlenght=(int)connection.getLength();if(lenght!=-1){imageData=newbyte[lenght];istrm.read(imageData);}else{ByteArrayOutputStreambstrm=newByteArrayOutputStream();intch;while((ch=istrm.read())!=-1){bstrm.write(ch);imageData=bstrm.toByteArray();bstrm.close();}}im=Image.createImage(imageData,0,imageData.length);}catch(Exceptione){e.printStackTrace();}finally{if(istrm!=null){istrm.close();}if(connection!=null){connection.close();}return(im==null?null:im);}}}
Jaison
é como eu e o boone falamos, falta vc implementar thread!
da uma procurada sobre isso no fórum ta cheio de coisa…
P
Pedro_Saavedra
Galera eu nao tenho muita intimidade com thread eu fiz de uma forma aqui e continua dando o mesmo problema:
publicclassConexaoFotoextendsMIDletimplementsCommandListener{privateDisplaydisplay;privateFormform;privateTextBoxtbox;privateCommandcmdExit;privateCommandcmdView;privateCommandcmdBack;publicConexaoFoto(){display=Display.getDisplay(this);form=newForm("Formulario foto");cmdExit=newCommand("Exit",Command.EXIT,1);cmdView=newCommand("View",Command.SCREEN,1);cmdBack=newCommand("Back",Command.BACK,1);tbox=newTextBox("Digite a URL","http://www1.folha.uol.com.br/folha/especial/2007/"+"campeonatobrasileiro/images/escudo-flamengo-80x80.gif",150,0);tbox.addCommand(cmdExit);tbox.addCommand(cmdView);tbox.setCommandListener(this);form.addCommand(cmdBack);form.setCommandListener(this);}publicvoidstartApp(){display.setCurrent(tbox);}publicvoidpauseApp(){}publicvoiddestroyApp(booleanunconditional){}publicvoidcommandAction(Commandc,Displayabled){if(c==cmdExit){destroyApp(true);notifyDestroyed();}elseif(c==cmdView){try{RetornaConexaor=newRetornaConexao();r.run();Imageim;if(r.im!=null){im=r.im;ImageItemii=newImageItem(null,im,ImageItem.LAYOUT_DEFAULT,null);if(form.size()!=0){form.set(0,ii);}else{form.append(ii);}}else{display.setCurrent(form);}}catch(Exceptione){e.printStackTrace();}}}}
Sei que to pertubando com isso, mas é que tenho que aprender e fazendo uma faço varias........
hayase
heheheheh
amigo
eu ja postei um monte d coisa aki relativo a isso
pra facilitar pra vc www.elainececiliagatto.blogspot.com
pega minha monografia la emeus arquivos
vai lhe dar uma espairecida
thread são fáceis até não fique com medo
hehehehehe
hayase
ah sim outra coisa
o q extamente vc ta querendo fazer???
tem uma string conexao enorme
vc poderia dizer?
obrigada