Erreur "Uncaught exception java.lang.IllegalStateException" à l'appel d'une méthode
Bonjour tout le monde,
Depuis quelques jours que suis sur un projet j2me et basé sur des connections HTTP.
Mon MIDLET est initialisé comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
/**Initialise le MIDLET avec le formulaire d'accueil. */
public void startApp() {
mainscreen ("");
}
/**Affiche l'ecran d'accueil. */
private void mainscreen(String msg) {
form = new Form ("Connexion au DOMOBOX");
StringItem notifier = new StringItem ("",msg);
form.append(login);
form.append(password);
form.append(notifier);
display = Display.getDisplay(this);
setCommands (form,true);
display.setCurrent(form);
} |
Donc au démarrage j'ai un formulaire assez simple de login et de mot de passe.
L'utilisateur s'authentifie si cela se passe bien, je notifie par un message 'OK' et j'initialise l'ecran suivant.
Mais problème c'est lorsque l'on fournit pas le bon login et mot de passe, je dévrais à la base pouvoir notifier par un message "Erreur d'authentification" et rester toujours sur le même écran (login et mot de passe). Mais c'est pas le cas j'ai un bien jolie message 'Uncaught exception java/lang/IllegalStateException'
C'est ce bout de code qui me permet de gérer tout cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
private void seConnecter(String u, String p) {
/**Pour se connecter au serveur HTTP*/
HttpConnection c = null;
/**Réponse du serveur HTTP sous forme de flux*/
InputStream is = null;
try {
c = (HttpConnection)Connector.open(url+"/connect/"+u+"/"+p);
c.setRequestMethod(HttpConnection.GET);
DataInputStream dis = new DataInputStream (c.openInputStream());
/**Récupération byte par byte de la réponse du serveur*/
int ch;
while ((ch = dis.read()) != -1) {
buffer.append((char)ch);
}
} catch( Exception e )
{
e.printStackTrace();
buffer.append( "ERROR CONNECTION HTTP" );
}
/**Free i/o Stream et Connection HTTP*/
finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (c != null) {
try {
c.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String result = new String (buffer.toString());
if ((int)result.length() == 9) {
StringItem st = new StringItem ("","OK");
form = new Form ("Connection...");
form.append(st);
setCommands (form,false);
display.setCurrent(form);
} else {
mainscreen("erreur d'authentification");
}
}
} |
Merci d'avance pour votre aide.