Aller au contenu

socket fonctionnant avec la version 7 d'android mais pas la 15


marnaud85

Recommended Posts

Bonjour,

Je suis Enseignant et je travaille sous android depuis peu.

J'ai commencé avec un smarphone samsung s1,

et maintenant je m'attaque aux tablettes.

j'ai réaliser le bout de programme suivant après l'appui sur un bouton:

try {

connect.setText("tentative connexion");

socket = new Socket("192.168.14.110", 1234);

socket.setSoTimeout(200);

if (socket.isConnected()) {

connect.setText("connexion_effectuée");

os = socket.getOutputStream();

os.write("s\n".getBytes());

InputStream is = socket.getInputStream();

n=is.read(B);

if (n!=-1){

i=0;

while ((b>0x29)&(b)<0x3A){

c=(char)b;

i++;

}

c=0;

ssolde=new String©;

}

solde.setText("votre solde : "+ssolde);

}

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

// connect.setText("non connecté");

//mSoundManager.playSound(3);

// TODO Auto-generated catch block

e.printStackTrace();

}/*catch (Exception e) {

e.printStackTrace();

}*/

finally{

if (socket != null){

try {

socket.close();

} catch (UnknownHostException e) {une tablette avec android 4.3

// connect.setText("deconnexion");

// TODO Auto-generated catch block

e.printStackTrace();

}catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

j'ai fourni les permissions.

ce code fonctionne trés bien avec un samsung S1 sous android 2.1, mais il ne tourne pas sur une tablette avec android 4.03 (flytouch ou samsung tab 2).

La tablette affiche que l'application s'est arrétée.

Que dois je modifier?

Cordialement.

Michel.

Lien vers le commentaire
Partager sur d’autres sites

Si l'application s'arrête, il doit y avoir dans le LogCat une StackTrace qui te donnera de plus amples informations sur ce qui s'est passé.A partir de là, on pourra plus facilement t'aider sur le problème

Ps: merci d'utiliser les balises [ code ] pour l'insertion de code pour une meilleure lisibilité des posts

Lien vers le commentaire
Partager sur d’autres sites

bonjour,

j'ai avancé un peu sur le sujet:

A partir de la version 4 les socket ne peuvent fonctionner qu'en fonctionnement avec des threads.

public class NetThread extends Thread 

Thread background=new Thread(new Runnable()

ou en mode asynchronus

avec la première solution j'arrive à démarrer le thread, mais ensuite j'ai des problèmes pour récupérer les données et bloquer le mode run.

Voilà où j'en suis.

Merci d'avance.

Michel

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...