IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème dans mon code [Débutant(e)]


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Par défaut Problème dans mon code
    Bonjour à tous,

    je débute sous Android et j'aurais besoin de votre aide

    j'ai un projet qui utilise la librairie "Socket".

    je veux utiliser une connexion TCP et envoyer des valeurs via le reseau a un module.

    je ne sais pas si j'ai bien commencé.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    package com.example.domohome;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Xml.Encoding;
    import android.view.Menu;
    import java.io.EOFException;
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.net.Socket;
    import java.net.UnknownHostException;
    import android.view.View;
    import android.widget.Button;
     
     
     
    public class Home extends Activity {
     
     
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_home);
     
            try {
        		Socket _scl = new Socket ("192.168.1.177",1337);
        	} catch (UnknownHostException e) {
        		// TODO Auto-generated catch block
        		e.printStackTrace();
        	} catch (IOException e) {
        		// TODO Auto-generated catch block
        		e.printStackTrace();
        	}
     
            Button vbutton1 = (Button)findViewById(R.id.button1);
            vbutton1.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(View v)
                {
                	byte[] Message = Encoding.US_ASCII.values("1");
                	int OctetsEnvoyes = _scl.Send(Message);
                }
            });
     
     
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_home, menu);
            return true;
     
        }
    }

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    Ton instance (Socket) _scl n'est accessible que dans le block Try

    Tu devrais le définir juste après super.onCreate(savedInstanceState) ou avant les overiddes.

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Par défaut
    Comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    package com.example.domohome;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Xml.Encoding;
    import android.view.Menu;
    import java.io.EOFException;
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.net.Socket;
    import java.net.UnknownHostException;
    import android.view.View;
    import android.widget.Button;
     
     
     
    public class Home extends Activity {
     
     
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            try {
    			Socket _scl = new Socket ("192.168.1.177",1337);
    		} catch (UnknownHostException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
            setContentView(R.layout.activity_home);
     
            Button vbutton1 = (Button)findViewById(R.id.button1);
            vbutton1.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(View v)
                {
                	byte[] Message = Encoding.US_ASCII.values("1");
                	int OctetsEnvoyes = _scl.Send(Message);
                }
            });
     
     
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_home, menu);
            return true;
     
        }
    }

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Non, comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    package com.example.domohome;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.util.Xml.Encoding;
    import android.view.Menu;
    import java.io.EOFException;
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.net.Socket;
    import java.net.UnknownHostException;
    import android.view.View;
    import android.widget.Button;
     
     
     
    public class Home extends Activity {
     
        public Socket _scl = null ; // ici
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
     
            setContentView(R.layout.activity_home);
     
            try {
    			_scl = new Socket ("192.168.1.177",1337);
    		} catch (UnknownHostException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
     
            Button vbutton1 = (Button)findViewById(R.id.button1);
            vbutton1.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(View v)
                {
                	byte[] Message = Encoding.US_ASCII.values("1");
                    int OctetsEnvoyes = 0;
                    if( _scl != null)
                 	     OctetsEnvoyes = _scl.Send(Message);
                }
            });
     
     
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_home, menu);
            return true;
     
        }
    }
    Après je te conseille d'aller faire un tour sur les tutoriels en java .
    http://java.developpez.com/cours/

    De plus essayez d'éviter d'utiliser les sockets dans le Main thread !

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Par défaut
    Bonjour,

    Merci pour votre aide mais dans mon bouton j'ai cette erreur.


  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    En laissant la souris sur le rouge Eclipse va indiquer l'erreur
    Celle ci est aussi visible dans la fenetre des erreurs

    La ce qu'on voit c'est une erreur dans le code, pas l'erreur elle même.

    Sinon, _sql.Send() me semble bizarre.... une fonction (tout comme un nom de variable au passage, je dis ceci pour les byte[] Message, et autres) en Java commence toujours par une minuscule...... La majuscule en premier est réservée aux types (classes, interfaces, enums...)

Discussions similaires

  1. Problème dans mon code
    Par mrbou dans le forum ASP
    Réponses: 15
    Dernier message: 01/10/2008, 14h38
  2. Réponses: 3
    Dernier message: 15/03/2008, 15h15
  3. Problème dans mon code
    Par curro dans le forum Débuter
    Réponses: 14
    Dernier message: 29/08/2007, 01h46
  4. Réponses: 2
    Dernier message: 03/05/2007, 09h00
  5. Réponses: 13
    Dernier message: 17/10/2006, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo