Bonjour,

j'essaye de développer un Quiz en Android, j'ai une partie serveur en java qui contient les questions/réponses et une partie client en java android, qui récupère les questions et les affichent puis renvoie la réponse au serveur. Or je n'arrive pas a envoyer de string du client vers le serveur.

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
40
41
42
43
44
45
46
 
public class serveurtest {
 
	public static void main(String[] args){
	//	Scanner sc = new Scanner(System.in);
		int b = 0;
		ServerSocket socketserver;
		Socket socketduserveur ;
		BufferedReader in = null ;
		PrintWriter out;
		String rep;
	 try {
 
	      socketserver = new ServerSocket(2009);	      
	      InetAddress address = InetAddress.getLocalHost();
	      String hostIP = address.getHostAddress() ;
		  String hostName = address.getHostName();
		  System.out.println( "Le nom de serveur est : " + hostName + "\nIP: " + hostIP);
		  System.out.println("Le serveur est à l'écoute du port "+socketserver.getLocalPort());
	      socketduserveur = socketserver.accept(); 
		  System.out.println("client connecté");
 
		  in = new BufferedReader(new InputStreamReader(socketduserveur.getInputStream()));
		  out = new PrintWriter(socketduserveur.getOutputStream());
 
		  out.println("Question");
		  out.flush();
		  out.println("rep1");
		  out.flush();
		  out.println("rep2");
		  out.flush();
		  out.println("rep3");
		  out.flush();
		  out.println("rep4");
		  out.flush();
 
		  System.out.println(in.readLine());
 
 
}
	 catch (Exception e) {
	      e.printStackTrace();
	      System.out.println("erreur 1");
	    }
}
}


ConnectionActivity activité qui permet de rentrer l'adresse de connection :

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
 
public class ConnectionActivity extends Activity {
 
	private Button b = null;
	private EditText e = null;
	public String adresse;
	Thread t1;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.connection);
 
		e = (EditText) findViewById(R.id.adresse);
 
 
		b = (Button) findViewById(R.id.boutonconnection);
		b.setOnClickListener(new OnClickListener(){
 
 
			@Override
			public void onClick(View v) {
				//on récupère l'adresse entrée par l'utilisateur
				adresse = e.getText().toString();
 
				//on lance le thread qui permet connect
				t1 = new Thread(new connect(adresse));
				t1.start();
 
				//On lance l'activité QCM qui affiche les questions/réponses du serveur
				Intent intent = new Intent(ConnectionActivity.this, QCM.class);
				startActivity(intent);
			}
		});
 
 
	}
 
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.connection, menu);
		return true;
	}
 
}
connect : Thread qui gère la connection
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
 
public class connect implements Runnable {
 
	private String adresse;
	public static ArrayList<String> ret = new ArrayList<String>();
	public static PrintWriter out;
 
	public connect(String adresse){
		this.adresse = adresse;
 
	}
 
	@Override
	public void run() {
		try {
			Socket socket = new Socket(adresse,2009);	//adresse IP actuelle du serveur 
 
			BufferedReader in = new BufferedReader (new InputStreamReader (socket.getInputStream()));
			 out = new PrintWriter(socket.getOutputStream());
 
			out.println("Connection établie"); //Cette string ne s'affiche pas sur le serveur, je ne comprends pas 
 
			//On lit et stocke les strings questions et réponses du serveur 
			for(int i = 0 ; i<5 ; i++){
				ret.add(in.readLine());
 
			}		
		} 
 
		catch (Exception ex) {
			Log.e("ConnectionTask","Failure !0",ex);
		}
 
 
 
	}
}
et enfin qcm qui gère l'affichage des questions :
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
 
public class QCM extends Activity{
 
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.qcm);
 
        //On remplit les view par les questions réponses
        TextView tv = (TextView) findViewById(R.id.question_numero);
		tv.setText(connect.ret.get(0));
 
		Button bt1 = (Button) findViewById(R.id.bt1);
		bt1.setText(connect.ret.get(1)); 
 
		Button bt2 = (Button) findViewById(R.id.bt2);
		bt2.setText(connect.ret.get(2)); 
 
		Button bt3 = (Button) findViewById(R.id.bt3);
		bt3.setText(connect.ret.get(3)); 
 
		Button bt4 = (Button) findViewById(R.id.bt4);
		bt4.setText(connect.ret.get(4));
 
		bt4.setOnClickListener(new OnClickListener(){
 
 
 
			@Override
			public void onClick(View v) {
				connect.out.println("TESTTEST");
			}
		});
 
    } 
 
 
}
Merci de votre aide