Mobile-AREA  1.1
BTS SNIR LaSalle Avignon 2021
Référence de la classe com.example.area.LiaisonBluetooth

Permet de gérer la communication bluetooth. Plus de détails...

Graphe de collaboration de com.example.area.LiaisonBluetooth:
Collaboration graph

Classes

class  TReception
 

Fonctions membres publiques

void connecter ()
 Méthode pour ouvrir la connexion avec un appareil. Plus de détails...
 
void deconnecter ()
 Méthode pour fermer la connexion avec un appareil. Plus de détails...
 
void envoyer (String donnees)
 Méthode pour envoyer des données. Plus de détails...
 
String getNomModule ()
 
 LiaisonBluetooth (String nomAppareil, Handler handlerIHM)
 Constructeur de la classe LiasonBluetooth. Plus de détails...
 

Attributs publics statiques

static final int CONNEXION_SOCKET = 2
 
static final int CREATION_SOCKET = 1
 
static final int DECONNEXION_SOCKET = 3
 
static final int RECEPTION_TRAME = 4
 

Fonctions membres privées

void activerBluetooth ()
 Méthode permettant d'activer le bluetooth s'il ne l'est pas. Plus de détails...
 
boolean creerSocket ()
 Méthode permettant de créer une socket à partir d'un appareil. Plus de détails...
 
boolean rechercherAppareil (String idAppareil)
 Méthode permettant de rechercher un appareil à partir d'une adresse. Plus de détails...
 

Attributs privés

OutputStream fluxEnvoi = null
 
InputStream fluxReception = null
 
Handler handlerIHM = null
 
BluetoothDevice module = null
 
BluetoothSocket socket = null
 
TReception tReception = null
 

Attributs privés statiques

static BluetoothAdapter bluetoothAdapter = null
 
static final String ID = "00001101-0000-1000-8000-00805F9B34FB"
 
static final String TAG = "_LiaisonBluetooth"
 

Description détaillée

Permet de gérer la communication bluetooth.

Définition à la ligne 30 du fichier LiaisonBluetooth.java.

Documentation des constructeurs et destructeur

◆ LiaisonBluetooth()

com.example.area.LiaisonBluetooth.LiaisonBluetooth ( String  nomAppareil,
Handler  handlerIHM 
)

Constructeur de la classe LiasonBluetooth.

Paramètres
nomAppareilNom de l'appareil auquel se connecter
handlerIHMHandler vers l'IHM

Définition à la ligne 52 du fichier LiaisonBluetooth.java.

Références com.example.area.LiaisonBluetooth.activerBluetooth(), com.example.area.LiaisonBluetooth.creerSocket(), com.example.area.LiaisonBluetooth.handlerIHM, et com.example.area.LiaisonBluetooth.rechercherAppareil().

53  {
54  this.handlerIHM = handlerIHM;
55 
57 
58  if(rechercherAppareil(nomAppareil))
59  {
60  creerSocket();
61  }
62  }
boolean rechercherAppareil(String idAppareil)
Méthode permettant de rechercher un appareil à partir d'une adresse.
boolean creerSocket()
Méthode permettant de créer une socket à partir d'un appareil.
void activerBluetooth()
Méthode permettant d'activer le bluetooth s'il ne l'est pas.

Documentation des fonctions membres

◆ activerBluetooth()

void com.example.area.LiaisonBluetooth.activerBluetooth ( )
private

Méthode permettant d'activer le bluetooth s'il ne l'est pas.

Définition à la ligne 67 du fichier LiaisonBluetooth.java.

Référencé par com.example.area.LiaisonBluetooth.LiaisonBluetooth().

68  {
69  bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
70  if (!bluetoothAdapter.isEnabled())
71  {
72  Log.d(TAG,"Activation du Bluetooth");
73  bluetoothAdapter.enable();
74  }
75  }
static BluetoothAdapter bluetoothAdapter

◆ connecter()

void com.example.area.LiaisonBluetooth.connecter ( )

Méthode pour ouvrir la connexion avec un appareil.

Définition à la ligne 136 du fichier LiaisonBluetooth.java.

Références com.example.area.LiaisonBluetooth.CONNEXION_SOCKET.

Référencé par com.example.area.IHMGestionRencontre.initialiserLiaisonBluetooth(), com.example.area.IHMGestionPartie.initialiserLiaisonBluetooth(), et com.example.area.LiaisonBluetooth.TReception.run().

137  {
138  if (module == null || socket == null)
139  return;
140 
141  Log.d(TAG,"Connexion au module " + module.getName() + " | Adresse : " + module.getAddress());
142  new Thread()
143  {
144  @Override public void run()
145  {
146  try
147  {
148  bluetoothAdapter.cancelDiscovery();
149  socket.connect();
150  fluxReception = socket.getInputStream();
151  fluxEnvoi = socket.getOutputStream();
152  if (!tReception.isAlive())
153  tReception.start();
154  Message message = new Message();
155  message.what = CONNEXION_SOCKET;
156  message.obj = module.getName();
157  handlerIHM.sendMessage(message);
158  }
159  catch (IOException e)
160  {
161  Log.e(TAG,"Erreur ouverture du socket");
162  e.printStackTrace();
163  }
164  }
165  }.start();
166  }
static BluetoothAdapter bluetoothAdapter

◆ creerSocket()

boolean com.example.area.LiaisonBluetooth.creerSocket ( )
private

Méthode permettant de créer une socket à partir d'un appareil.

Définition à la ligne 102 du fichier LiaisonBluetooth.java.

Références com.example.area.LiaisonBluetooth.CREATION_SOCKET.

Référencé par com.example.area.LiaisonBluetooth.LiaisonBluetooth().

103  {
104  if(module == null)
105  return false;
106 
107  Log.d(TAG,"Création de la socket pour l'appareil : " + module.getName() + " | Adresse : " + module.getAddress());
108  try
109  {
110  socket = module.createRfcommSocketToServiceRecord(UUID.fromString(ID));
111  }
112  catch (IOException e)
113  {
114  e.printStackTrace();
115  socket = null;
116  Log.d(TAG, "Echec de la création de socket");
117  return false;
118  }
119 
120  if (socket != null)
121  {
122  tReception = new TReception();
123  Message message = new Message();
124  message.what = CREATION_SOCKET;
125  message.obj = module.getName();
126  handlerIHM.sendMessage(message);
127  return true;
128  }
129 
130  return false;
131  }

◆ deconnecter()

void com.example.area.LiaisonBluetooth.deconnecter ( )

Méthode pour fermer la connexion avec un appareil.

Définition à la ligne 171 du fichier LiaisonBluetooth.java.

Références com.example.area.LiaisonBluetooth.TReception.arreter(), et com.example.area.LiaisonBluetooth.DECONNEXION_SOCKET.

Référencé par com.example.area.IHMGestionPartie.deconnecterModules(), et com.example.area.IHMGestionRencontre.onStop().

172  {
173  if (module == null || socket == null)
174  return;
175 
176  Log.d(TAG,"Déconnexion du module " + module.getName() + " | Adresse : " + module.getAddress());
177  new Thread()
178  {
179  @Override public void run()
180  {
181  try
182  {
184  socket.close();
185  Message message = new Message();
186  message.what = DECONNEXION_SOCKET;
187  message.obj = module.getName();
188  handlerIHM.sendMessage(message);
189  }
190  catch (IOException e)
191  {
192  Log.e(TAG,"Erreur fermeture du socket");
193  e.printStackTrace();
194  }
195  }
196  }.start();
197  }
void arreter()
Méthode qui permet d'arrêter lire les données entrantes.

◆ envoyer()

void com.example.area.LiaisonBluetooth.envoyer ( String  donnees)

Méthode pour envoyer des données.

Définition à la ligne 202 du fichier LiaisonBluetooth.java.

Référencé par com.example.area.IHMGestionPartie.actualiserAffichageAjoutPoint(), com.example.area.IHMGestionPartie.actualiserAffichageRetraitPoint(), com.example.area.IHMGestionRencontre.envoyerPartiesAfficheur(), et com.example.area.IHMGestionRencontre.initialiserHandler().

203  {
204  if (module == null || socket == null)
205  return;
206 
207  new Thread()
208  {
209  @Override public void run()
210  {
211  try
212  {
213  if(socket.isConnected())
214  {
215  Log.d(TAG,"Envoi vers le module " + module.getName() + " | Adresse : " + module.getAddress() + " | Données : " + donnees);
216  fluxEnvoi.write(donnees.getBytes());
217  }
218  }
219  catch(IOException e)
220  {
221  Log.e(TAG,"Erreur envoi socket");
222  e.printStackTrace();
223  }
224  }
225  }.start();
226  }

◆ getNomModule()

String com.example.area.LiaisonBluetooth.getNomModule ( )

Définition à la ligne 228 du fichier LiaisonBluetooth.java.

229  {
230  if(module != null)
231  {
232  return module.getName();
233  }
234 
235  return null;
236  }

◆ rechercherAppareil()

boolean com.example.area.LiaisonBluetooth.rechercherAppareil ( String  idAppareil)
private

Méthode permettant de rechercher un appareil à partir d'une adresse.

Paramètres
idAppareilLe nom ou l'adresse MAC du module Bluetooth à rechercher

Définition à la ligne 81 du fichier LiaisonBluetooth.java.

Référencé par com.example.area.LiaisonBluetooth.LiaisonBluetooth().

82  {
83  Set<BluetoothDevice> appareilsAppaires = bluetoothAdapter.getBondedDevices();
84 
85  Log.d(TAG,"Recherche l'appareil : " + idAppareil);
86  for (BluetoothDevice appareil : appareilsAppaires)
87  {
88  Log.d(TAG,"Nom : " + appareil.getName() + " | Adresse : " + appareil.getAddress());
89  if (appareil.getName().equals(idAppareil) || appareil.getAddress().equals(idAppareil))
90  {
91  module = appareil;
92  return true; // trouvé !
93  }
94  }
95 
96  return false;
97  }
static BluetoothAdapter bluetoothAdapter

Documentation des données membres

◆ bluetoothAdapter

BluetoothAdapter com.example.area.LiaisonBluetooth.bluetoothAdapter = null
staticprivate

Définition à la ligne 41 du fichier LiaisonBluetooth.java.

◆ CONNEXION_SOCKET

final int com.example.area.LiaisonBluetooth.CONNEXION_SOCKET = 2
static

◆ CREATION_SOCKET

final int com.example.area.LiaisonBluetooth.CREATION_SOCKET = 1
static

◆ DECONNEXION_SOCKET

◆ fluxEnvoi

OutputStream com.example.area.LiaisonBluetooth.fluxEnvoi = null
private

Définition à la ligne 43 du fichier LiaisonBluetooth.java.

◆ fluxReception

InputStream com.example.area.LiaisonBluetooth.fluxReception = null
private

Définition à la ligne 42 du fichier LiaisonBluetooth.java.

◆ handlerIHM

Handler com.example.area.LiaisonBluetooth.handlerIHM = null
private

Définition à la ligne 45 du fichier LiaisonBluetooth.java.

Référencé par com.example.area.LiaisonBluetooth.LiaisonBluetooth().

◆ ID

final String com.example.area.LiaisonBluetooth.ID = "00001101-0000-1000-8000-00805F9B34FB"
staticprivate

Définition à la ligne 33 du fichier LiaisonBluetooth.java.

◆ module

BluetoothDevice com.example.area.LiaisonBluetooth.module = null
private

Définition à la ligne 40 du fichier LiaisonBluetooth.java.

◆ RECEPTION_TRAME

final int com.example.area.LiaisonBluetooth.RECEPTION_TRAME = 4
static

◆ socket

BluetoothSocket com.example.area.LiaisonBluetooth.socket = null
private

Définition à la ligne 39 du fichier LiaisonBluetooth.java.

◆ TAG

final String com.example.area.LiaisonBluetooth.TAG = "_LiaisonBluetooth"
staticprivate

Définition à la ligne 32 du fichier LiaisonBluetooth.java.

◆ tReception

TReception com.example.area.LiaisonBluetooth.tReception = null
private

Définition à la ligne 44 du fichier LiaisonBluetooth.java.


La documentation de cette classe a été générée à partir du fichier suivant :