Envoi d'un objet d'Android à Java java.lang.ClassNotFoundException
Bonjour je ne sais pas si je suis sur le bon forum ,mais bon :aie:
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:
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:
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:
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;
}
} |