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 :

Envoi d'un objet d'Android à Java java.lang.ClassNotFoundException


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut Envoi d'un objet d'Android à Java java.lang.ClassNotFoundException
    Bonjour je ne sais pas si je suis sur le bon forum ,mais bon
    j'effectue un programme simple qui envoi un objet ,depuis un terminal android a un programme java sur mon PC mais il y a une exception ,

    ici le programme java fais office de serveur ,pourtant en faisant un programme client java depuis mon PC le transfert se fais sans problème alors ou est l'erreur?
    je me le demande ,sur ce voici mes codes :

    serveur :
    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
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.net.UnknownHostException;
     
    import test.arbre;
     
     
    public class Main {
     
    	public static void main(String[] args) throws IOException{
     
    		Personne objet = new Personne();
     
    		ServerSocket server = new ServerSocket(7777);
    		Socket socket;
    		ObjectInputStream in;
     
    		try{
    			socket = server.accept();
    			System.out.println("Connection effectué");
    			in = new ObjectInputStream(socket.getInputStream());
    			System.out.println("je suis la");
    			objet = (Personne) in.readObject();
    			System.out.println("Nom :"+ objet.getNom() + ", Prenom: " + objet.getPrenom() + ", Pseudo: " + objet.getPseudo() + ", Password: " + objet.getPassword());
    			in.close();
    			socket.close();
    		}
    		catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    	}
     
    }

    le code client depuis android :
    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
    60
    61
    62
    63
    64
    65
    66
    67
    package com.example.exemple;
     
    import java.io.IOException;
    import java.io.ObjectOutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public class MainActivity extends Activity {
     
    	private Button btn;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
    		btn = (Button)findViewById(R.id.button1);
     
    		final Personne cahier = new Personne();
    		cahier.setId(1);
    		cahier.setPrenom("jean");
    		cahier.setNom("michel");
    		cahier.setPseudo("Pseudo");
    		cahier.setPassword("Password");
    		btn.setOnClickListener(new View.OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
     
    				Thread thread = new Thread(new Runnable(){
     
    					@Override
    					public void run() {
    						// TODO Auto-generated method stub
    						Socket socket;
    						ObjectOutputStream out;
    						try {
    							socket = new Socket("192.168.x.xx",7777);
    							Log.v("Conncetion","effectué");
    							out = new ObjectOutputStream(socket.getOutputStream());
    							out.writeObject(cahier);
    							out.flush();
    							socket.close();
     
    						}catch (UnknownHostException e) {
    				            e.printStackTrace();
    				        } catch (IOException e) {
    							// TODO Auto-generated catch block
    							e.printStackTrace();
    						}
    					}
     
    				});
    				thread.start();
    			}
    		});
    	}
    et voici le code de ma classe personne
    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
     
    import java.io.Serializable;
     
    public class Personne implements java.io.Serializable {
    	  private String nom ;
    	  private String prenom ;
    	  private int id ;
    	  private String pseudo;
    	  private String password;
     
    	  public Personne(){}
     
    	  public Personne(String nom, String prenom, int taille) {
    	    this.nom = nom;
    	    this.id = taille;
    	    this.prenom = prenom;
    	  }
     
    	  public String getNom() {
    	    return nom;
    	  }
     
    	  public void setNom(String nom) {
    	    this.nom = nom;
    	  }
     
    	  public int getId() {
    	    return id;
    	  }
     
    	  public void setId(int taille) {
    	    this.id = taille;
    	  }
     
    	  public String getPrenom() {
    	    return prenom;
    	  }
     
    	  public void setPrenom(String prenom) {
    	    this.prenom = prenom;
    	  }
     
    	  public String getPseudo(){
    			return pseudo;
    		}
    		public void setPseudo(String Pseudo){
    			this.pseudo = Pseudo;
    		}
     
    		//password
     
    		public String getPassword(){
    			return password;
    		}
    		public void setPassword(String Password){
    			this.password = Password;
    		}
    	}

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Et c'est quoi l'exception justement ? Donne nous un peu le stacktrace s'il te plait.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut
    ok j'ai
    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
    java.lang.ClassNotFoundException: com.example.exemple.Personne
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Unknown Source)
    	at java.io.ObjectInputStream.resolveClass(Unknown Source)
    	at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    	at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    	at java.io.ObjectInputStream.readObject0(Unknown Source)
    	at java.io.ObjectInputStream.readObject(Unknown Source)
    	at Main.main(Main.java:25)

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut
    alors ?

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    A première vue je n'ai pas d'idée.

    Est-ce que dans ta classe "personne" tu as bien mis la déclaration package ?
    (je ne la vois pas dans ton code mais c'est peut être une erreur dans le copier/coller) enfin ca devrait pas être ca si ca marche sur le pc
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 45
    Par défaut
    j'ai réussi a faire le transfert de l'objet sous forme de liste String[]
    c'est quand même bizarre qu'il y ait un problème pareil.
    enfin si quelqu'un réussi en trouver l'origine je suis tout ouïe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/11/2010, 18h19
  2. Envoi d'un message Lotus Notes depuis Java
    Par link182 dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 25/03/2008, 11h05
  3. [XML] transport d'un objet entre C++ et JAVA
    Par jobigoud dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/08/2006, 11h02

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