Drakilster Posté(e) 16 octobre 2012 Share Posté(e) 16 octobre 2012 Bonjour,Voila je viens a vous car je ne sais plus ou allez pour m'aider sur mon application android. J'ai un problème j'ai tous essayais pour avoir une reception continue de mon application android.Je m'explique : L'application ce connecte envoie un message tous va bien après j'utilise un code pour réceptionner mais sa bugs j'ai essayer le runnable et plien d'autre chose impossible de'arrivé a quelque chose voici mon code de réception sans le runnable car même avec il m'exécute rien quand je demande de lire ou autre les donnée il plante bref voici le code : public void ReceptionMessage(){ while(true){ byte[] buffer = new byte[1024]; int readBytes; try { readBytes = s.getInputStream().read(buffer, 0, 1024); RcptDonnee = new String(buffer, 0, readBytes, "UTF-8"); } catch (IOException e) { // TODO Bloc catch erreur e.printStackTrace(); } String[] separated = RcptDonnee.split("#"); if (separated[0] == "ConnexionAndroid"){ AlertDialog alertDialog; alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("Erreur Serveur"); alertDialog.setMessage(separated[0]); alertDialog.show(); String[] separated2 = separated[1].split("\\{\\}"); } else if(separated[0] =="InscriptionAndroid"){ } else if (separated[0] =="TestConnexionAndroid"){ } } } Merci d'avance dans pour votre aide . D'avance je vous informe que je débute en java mais j'ai de lourd connaissance et c# ce qui m'aide un peux on va dire ... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 16 octobre 2012 Share Posté(e) 16 octobre 2012 Première piste d'erreur possible: en Java, le test d'égalité pour des chaînes de caractères ne se fait pas avec ==, mais avec la méthode equals if (separated[0].equals("ConnexionAndroid")) PS: dans tes prochains posts, pourrais-tu faire un effort sur l'orthographe et la ponctuation, parce que là, ton message en une seule "phrase" sans aucune ponctuation, c'est à la limite du compréhensible... 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Drakilster Posté(e) 17 octobre 2012 Auteur Share Posté(e) 17 octobre 2012 (modifié) ceci était une des première erreur que j'ai eux pour le peux de temps qu'il arrive a marché ^^ Sinon personne peux m'aider sur mon problème avec une réception continue edit : PS: dans tes prochains posts, pourrais-tu faire un effort sur l'orthographe et la ponctuation, parce que là, ton message en une seule "phrase" sans aucune ponctuation, c'est à la limite du compréhensible... Je vais essayer mais depuis longtemps j'ai des problèmes avec la ponctuation est l'orthographe etc enfin bref désoler du gêne. Modifié 17 octobre 2012 par Drakilster Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 17 octobre 2012 Share Posté(e) 17 octobre 2012 Sinon personne peux m'aider sur mon problème avec une réception continue A vrai dire, j'ai du mal à comprendre ce que tu veux faire, ou quel est le problème que tu rencontres... Si tu pouvais préciser ce qui ne marche pas, quelle(s) erreur(s) tu rencontres, ... cela pourrait aider à la compréhension du problème... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Drakilster Posté(e) 17 octobre 2012 Auteur Share Posté(e) 17 octobre 2012 (modifié) A vrai dire, j'ai du mal à comprendre ce que tu veux faire, ou quel est le problème que tu rencontres...Si tu pouvais préciser ce qui ne marche pas, quelle(s) erreur(s) tu rencontres, ... cela pourrait aider à la compréhension du problème... Je vais expliquer mon problème plus clairement enfin je pense : 1 j'ai un serveur c# sur mon pc 2- mon application android ce connecte 3-Elle arrive a envoyer des messages 4-Quand tu envoie un message et que j'appel la fonction réception tout va bien il réception mon message mais mon problème et la . Quand le serveur envoie des donnée et que le client android est connecté mais pas en mode de réception de message il ne recoi rien.Donc j'aimerais trouvé un moyen pour que la réception des messages soit une boucle interminable qui réception les message et puis analyse. J'ai essayais avec un runnable mais j'avez un problème quand je changer la réception je croie qu'il y avez un problème.Enfin bref voila je chercher un moyen de faire comme un client c# un boucle infini via un worker qui exécute en arrière plan et évite de faire buger les autre codes. edit: voici mon nouveaux code que j'ai essayer de mettre a jour : private Runnable readingRun = new Runnable() { public void run() { try { InputStream input; input = s.getInputStream(); int readBytes; byte[] buffer = new byte[1024]; while (((readBytes = input.read(buffer)) != 0)) { if (readBytes!= 0) { String receivedStr = new String(buffer, 0, readBytes, "UTF-8"); String[] Analyse = receivedStr.split("#"); if (Analyse[0].equals("ConnexionAndroid")){ Toast Annonce = Toast.makeText( getApplicationContext() , "Reception message serveur connexion" , Toast.LENGTH_SHORT );Annonce.show(); } } else break; } } catch (IOException e) { e.printStackTrace(); } } }; l'erreur est la Toast Annonce = Toast.makeText( getApplicationContext() , "Reception message serveur connexion" , Toast.LENGTH_SHORT );Annonce.show(); Modifié 17 octobre 2012 par Drakilster Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 18 octobre 2012 Share Posté(e) 18 octobre 2012 Je suppose que tu utilises ton Runnable au travers d'un thread ? Dans ce cas, l'erreur qui doit se produire vient du fait que l'affichage du Toast (qui est une opération d'IHM) ne peut se faire un thread secondaire, mais uniquement dans le thread principal. Tu peux faire quelque chose comme cela pour faire en sorte que l'instruction concernant le Toast se fasse quand même dans le thread principal runOnUiThread(new Runnable() { public void run() { Toast Annonce = Toast.makeText( getApplicationContext() , "Reception message serveur connexion" , Toast.LENGTH_SHORT );Annonce.show(); } }); 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Drakilster Posté(e) 18 octobre 2012 Auteur Share Posté(e) 18 octobre 2012 Je t'adore tes génial sa fonctionne j'y croie pas ... enfin bref merci et oui j’appelle sa via un thread. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.