1 package projet.lasalle84.darts;
3 import android.bluetooth.BluetoothDevice;
4 import android.bluetooth.BluetoothSocket;
5 import android.os.Bundle;
6 import android.os.Handler;
7 import android.os.Message;
8 import android.util.Log;
10 import java.io.IOException;
11 import java.io.InputStream;
12 import java.io.OutputStream;
13 import java.util.UUID;
31 private final static String
TAG =
"Peripherique";
45 private BluetoothSocket
socket = null;
57 Log.d(TAG,
"Peripherique() " + device.getName() +
"[" + device.getAddress() +
"]");
61 this.nom = device.getName();
62 this.adresse = device.getAddress();
75 assert device != null;
76 socket = device.createRfcommSocketToServiceRecord(UUID.fromString(
"00001101-0000-1000-8000-00805F9B34FB"));
77 receiveStream = socket.getInputStream();
78 sendStream = socket.getOutputStream();
87 tReception =
new TReception(
this, handler, receiveStream);
116 Log.d(TAG,
"connecter() " + device.getName() +
"[" + device.getAddress() +
"]");
119 @Override
public void run()
125 Message msg = Message.obtain();
126 Bundle b =
new Bundle();
127 b.putString(
"nom",
getNom());
129 b.putInt(
"etat", CODE_CONNEXION);
131 handler.sendMessage(msg);
135 Log.d(TAG,
"connexion reussie " +
getNom());
138 catch (IOException e)
141 Log.d(TAG,
"erreur connexion " +
getNom());
142 Message msg = Message.obtain();
143 Bundle b =
new Bundle();
144 b.putString(
"nom",
getNom());
146 b.putInt(
"etat", CODE_ERREUR_CONNECTER);
148 handler.sendMessage(msg);
160 Log.d(TAG,
"deconnecter() " + device.getName() +
"[" + device.getAddress() +
"]");
163 tReception.arreter();
168 catch (IOException e)
170 System.out.println(
"<Socket> error close");
182 Log.d(TAG,
"envoyer() " + device.getName() +
"[" + device.getAddress() +
"]");
185 Log.d(TAG,
"pas d'envoi");
190 @Override
public void run()
194 if(socket.isConnected())
196 sendStream.write(data.getBytes());
198 Log.d(TAG,
"envoyer() trame envoyée : " + data);
201 catch (IOException e)
204 Log.d(TAG,
"envoyer() Erreur socket write : " +
getNom());
205 Message msg = Message.obtain();
206 Bundle b =
new Bundle();
207 b.putString(
"nom",
getNom());
209 b.putInt(
"etat", CODE_ERREUR_ENVOYER);
211 handler.sendMessage(msg);
BluetoothDevice device
Objet BluetoothDevice.
static final int CODE_RECEPTION
Code de Reception.
TReception tReception
Thread pour traiter les trames.
void connecter()
Méthode pour se connecter sur le perihperique en Bluetooth.
static final int CODE_ERREUR_ENVOYER
Code erreur lors de l'envoi.
Peripherique(BluetoothDevice device, Handler handler)
Constructeur de la classe Peripherique.
Déclaration de la classe Peripherique.
static final int CODE_DECONNEXION
Code de Deconnexion.
String getNom()
Méthode qui retourne le nom du périphérique.
boolean deconnecter()
Méthode pour se deconnecter sur le perihperique en Bluetooth.
BluetoothSocket socket
Socket Bluetooth.
static final int CODE_ERREUR_RECEVOIR
Code erreur lors de la réception.
InputStream receiveStream
Input du Bluetooth.
String nom
Nom du peripherique bluetooth.
String getAdresse()
Méthode qui retourne l'adresse du périphérique.
static final String TAG
TAG pour log.
static final int CODE_CONNEXION
Code de Connection.
void envoyer(final String data)
Méthode pour envoyer une trame en Bluetooth.
OutputStream sendStream
Output du BLuetooth.
Handler handler
Handler permet de traiter les trames.
static final int CODE_ERREUR_CONNECTER
Code erreur lors de la connexion.
String adresse
Adresse du peripherique bluetooth.