J'ai lu dans de nombreux endroits que la connexion réseau dans une application j2me doit être effectuée dans un thread séparé. Est-ce une nécessité ou un bien à avoir?j2me connexion réseau
Je demande cela parce que je ne pouvais trouver nulle part écrit que cela doit être fait dans un fil séparé. En outre, lorsque j'ai écrit une application simple pour aller chercher une image sur un réseau et l'afficher à l'écran (sans utiliser de fil de discussion), cela n'a pas fonctionné. Quand j'ai changé le même pour utiliser un fil séparé cela a fonctionné. Je ne suis pas sûr si cela a fonctionné juste parce que je l'ai changé en fil séparé, comme j'avais fait beaucoup d'autres changements au code aussi.
Quelqu'un peut-il confirmer s'il vous plaît?
Edit: Si en cours d'exécution dans un thread séparé n'est pas une nécessité, quelqu'un peut-il s'il vous plaît me dire pourquoi le morceau de code ci-dessous simple ne fonctionne pas?
Il arrive à un stade où l'émulateur demande "Est-il correct de se connecter au réseau". Indépendamment du fait que j'appuie sur "oui" ou "non", l'écran ne change pas.
public class Moo extends MIDlet {
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
Display display = Display.getDisplay(this);
MyCanvas myCanvas = new MyCanvas();
display.setCurrent(myCanvas);
myCanvas.repaint();
}
class MyCanvas extends Canvas {
protected void paint(Graphics graphics) {
try {
Image bgImage = Image.createImage(getWidth(), getHeight());
HttpConnection httpConnection = (HttpConnection) Connector
.open("https://stackoverflow.com/content/img/so/logo.png");
Image image = Image.createImage(httpConnection
.openInputStream());
bgImage.getGraphics().drawImage(image, 0, 0, 0);
httpConnection.close();
graphics.drawImage(bgImage, 0, 0, 0);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Modifier: J'ai eu ma réponse pour le code here.
Modifier: J'ai engendré une question distincte de ce here.