1 package com.example.groom;
3 import android.bluetooth.BluetoothDevice;
4 import android.bluetooth.BluetoothSocket;
5 import android.os.Handler;
6 import android.os.Message;
7 import android.util.Log;
8 import java.io.BufferedReader;
9 import java.io.IOException;
10 import java.io.InputStream;
11 import java.io.InputStreamReader;
12 import java.io.OutputStream;
13 import java.util.UUID;
30 private static final String
TAG =
"Communication";
42 private BluetoothSocket
socket = null;
59 this.nom = device.getName();
60 this.adresse = device.getAddress();
64 socket = device.createRfcommSocketToServiceRecord(UUID.fromString(
"00001101-0000-1000-8000-00805F9B34FB"));
65 receiveStream = socket.getInputStream();
66 sendStream = socket.getOutputStream();
82 Log.v(TAG,
"Communication() : Nom = " +
getNom());
127 @Override
public void run()
133 Message msg = Message.obtain();
135 handler.sendMessage(msg);
137 if(tReception != null)
139 Log.v(TAG,
"connecter() : Nom = " +
getNom());
141 catch (IOException e)
143 Log.d(TAG,
"Erreur connect()");
164 Message msg = Message.obtain();
166 handler.sendMessage(msg);
170 catch (IOException e)
172 Log.d(TAG,
"Erreur close()");
186 final String trame = data;
193 @Override
public void run()
197 if(socket.isConnected())
199 sendStream.write(trame.getBytes());
201 Log.d(TAG,
"envoyer() trame : " + trame);
204 catch (IOException e)
206 Log.d(TAG,
"Erreur write()");
223 catch (InterruptedException e)
261 BufferedReader reception =
new BufferedReader(
new InputStreamReader(receiveStream));
267 if (reception.ready())
269 trame = reception.readLine();
271 if (trame.length() > 0)
273 Log.d(TAG,
"run() trame : " + trame);
274 Message msg = Message.obtain();
277 handlerUI.sendMessage(msg);
280 catch (IOException e)
282 Log.d(TAG,
"Erreur read()");
289 catch (InterruptedException e)
311 catch (InterruptedException e)
boolean fini
true si la réception est fini, false sinon
String getNom()
Accesseur get du nom.
BluetoothDevice getDevice()
Accesseur get de l'appareil.
void attendre(int millis)
Méthode pour attendre avant de passer à la prochaine ligne d'exécution.
boolean deconnecter()
Méthode pour se déconnecter de l'appareil.
String getAdresse()
Accesseur get de l'adresse.
static final String TAG
TAG pour les logs.
void envoyer(String data)
Méthode pour envoyer une trame.
Handler handler
L'objet handler.
static final int CODE_CONNEXION
Code de connexion.
InputStream receiveStream
L'objet receiveStream.
BluetoothDevice device
L'objet device.
OutputStream sendStream
L'objet sendStream.
static final int CODE_DECONNEXION
Code de déconnexion.
void run()
Méthode qui lance le thread.
Communication(BluetoothDevice device, Handler handler)
Constructeur de la classe Communication.
BluetoothSocket socket
L'objet socket.
TReception tReception
L'objet tReception.
String adresse
L'adresse.
static final int CODE_RECEPTION
Code de réception d'une trame.
Déclaration de la classe Communication.
void connecter()
Méthode pour se connecter à l'appareil.
Déclaration de la classe TReception.
void arreter()
Méthode pour arrêter la réception.