Bonjour,
J'essaye actuellement de créer une connexion entre un serveur (PC) et une application Android (client). Je voudrais faire en sorte que dans l'application, je puisse vérifier en continu si je reçois des messages du serveur (même si l'application est fermée..). Et dès que je reçois un message, je voudrais pouvoir répondre au message en cliquant sur un bouton ou bien automatiquement dès la réception du message. Pour cela, je pense qu'il faut que je créer une classe fille dans mon activité principal avec Asynctask. Cependant, je ne comprend pas trop comment fonctionne Asynctask. Je ne vois pas à quoi correspond la fonction OnPostExecute.
Voici le code de ma classe fille (qui est appelée par new Client().execute(); dans la fonction onCreate de mon activité principale.
En vous remerciant par avance
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 class Client extends AsyncTask<Void,Void,String>{ PrintWriter out; string res; int numPort = 1500; Socket client; BufferedReader in; // methode pour envoyer des données au serveur void envoyer(string res) throws IOException{ this.out.println(res); } public String doInBackground(Void...params){ try { client = new Socket("10.0.2.2", numPort); in = new BufferedReader(new InputStreamReader(client.getInputStream())); out = new PrintWriter(client.getOutputStream(), true); //permet de verifier si je reçois un message while( (res=in.readLine()) != null){ String time_arbitraire = "test"; envoi(time_arbitraire); } }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res; } public void onPostExecute(String result){ } }
Partager