Ekawa  1.0
BTS SNIR LaSalle Avignon 2021
Reception.java
Aller à la documentation de ce fichier.
1 package com.example.ekawa;
2 
3 import android.os.Handler;
4 import android.os.Message;
5 import android.util.Log;
6 
7 import java.io.BufferedReader;
8 import java.io.IOException;
9 import java.io.InputStreamReader;
10 
23 public class Reception extends Thread
24 {
25  private static final String TAG = "Reception";
27  private Handler handler;
28  private boolean fini = false;
29 
34  public Reception(Peripherique peripherique, Handler handler)
35  {
36  this.peripherique = peripherique;
37  this.handler = handler;
38  }
39 
44  @Override
45  public void run()
46  {
47  Log.d(TAG, "Thread réception démarré");
48  BufferedReader reception = new BufferedReader(new InputStreamReader(peripherique.obtenirFluxReception()));
49  while(!fini)
50  {
51  try
52  {
53  String trame = "";
54  if(reception.ready())
55  {
56  trame = reception.readLine(); // Récupère la trame reçue sans les délimiteurs de fin (\r\n)
57  }
58  if(trame.length() > 0)
59  {
60  Log.d(TAG, "run() trame : " + trame);
61  if(handler != null)
62  {
63  Message msg = Message.obtain();
64  msg.what = Peripherique.CODE_RECEPTION;
65  msg.obj = trame;
66  handler.sendMessage(msg);
67  }
68  }
69  }
70  catch (IOException e)
71  {
72  Log.d(TAG, "Erreur lecture socket !");
73  e.printStackTrace();
74  }
75  try
76  {
77  Thread.sleep(250);
78  }
79  catch (InterruptedException e)
80  {
81  e.printStackTrace();
82  }
83  }
84  Log.d(TAG, "Thread réception arrêté");
85  }
86 
91  public void arreter()
92  {
93  if (fini == false)
94  {
95  fini = true;
96  }
97  try
98  {
99  Thread.sleep(250);
100  }
101  catch (InterruptedException e)
102  {
103  e.printStackTrace();
104  }
105  }
106 }
Permet le dialogue avec le périphérique Bluetooth de la cafetière.
static final int CODE_RECEPTION
Le code de réception.
InputStream obtenirFluxReception()
Méthode qui renvoie le flux de données entrant.
Peripherique peripherique
Le nom du périphérique.
Definition: Reception.java:26
boolean fini
Etat de la réception.
Definition: Reception.java:28
void arreter()
Méthode qui permet d'arrêter la réception de trame.
Definition: Reception.java:91
Reception(Peripherique peripherique, Handler handler)
Constructeur de la classe Peripherique.
Definition: Reception.java:34
Permet la réception des trames du périphérique Bluetooth de la cafetière.
Definition: Reception.java:23
Handler handler
La gestionnaire des messages.
Definition: Reception.java:27
void run()
Méthode qui permet de recevoir des trames de la cafetière (thread)
Definition: Reception.java:45
static final String TAG
TAG pour les logs.
Definition: Reception.java:25