Io-Trucks  0.2
BTS SNIR LaSalle Avignon 2020
Référence de la classe com.lasalle.io_trucks.MainActivity

Classe IHM principale. Plus de détails...

Graphe de collaboration de com.lasalle.io_trucks.MainActivity:
Collaboration graph

Fonctions membres publiques

void onClick (View element)
 Méthode de gestion des clics Ceci est la méthode qui gère l'écoute des clics sur les différents widgets de l'interface. Plus de détails...
 

Fonctions membres protégées

void onCreate (Bundle savedInstanceState)
 Méthode appelée à la création de l'activité MainActivity. Plus de détails...
 
void onDestroy ()
 Méthode appelée à la destruction de l'application (après onStop() et détruite par le système Android) Plus de détails...
 
void onPause ()
 Méthode appelée après qu'une boîte de dialogue s'est affichée (on reprend sur un onResume()) ou avant onStop() (activité plus visible) Plus de détails...
 
void onResume ()
 Méthode appelée après onStart() ou après onPause() Plus de détails...
 
void onStart ()
 Méthode appelée au démarrage après le onCreate() ou un restart après un onStop() Plus de détails...
 
void onStop ()
 Méthode appelée lorsque l'activité n'est plus visible. Plus de détails...
 

Fonctions membres privées

void activerVue ()
 
void afficherEtatS1 (String[] trame)
 
void creerLiasonReceiverEtatBluetooth ()
 Méthode pour créer les Registers de l'état du bluetooth et donc le lien avec l'état du bluetooth. Plus de détails...
 
void decoderTrame (String trame)
 Méthode perméttant de décoder les trames reçues. Plus de détails...
 
void demanderEtats ()
 
void envoyerTrame (String trame)
 Méthode qui envoie une trame au périphérique Bluetooth. Plus de détails...
 
void initialiserWidgets ()
 Méthode pour initialiser les Widgets. Plus de détails...
 
void recupererWidgets ()
 Méthode pour associer la vue à l'objet des Widgets. Plus de détails...
 
void renitialiserVue ()
 Méthode permettant de rénitialiser la vue de l'activitée. Plus de détails...
 
void traiterTrame (String[] trame)
 Méthode permettant de traiter les trames en fonctions de leurs contennue. Plus de détails...
 

Attributs privés

Button buttonBluetooth
 
Button buttonRafraichir
 
Button buttonRechercher
 
Communication communicationBluetooth = new Communication()
 
EditText editNomPeripherique
 
Boolean etatEclairage = false
 
Boolean etatGyrophare = false
 
Boolean etatTriangle = false
 
final Handler handler
 Handler de l'application et des périphériques bluetooth Cette handler permet de gérer le thread de communication de l'application. Plus de détails...
 
ImageButton imageButtonEclairage
 
ImageButton imageButtonGyrophare
 
ImageButton imageButtonTriangle
 
ImageView imageEtatConnection
 
Peripherique peripheriqueBluetooth = null
 
TextView textEtatConnection
 

Attributs privés statiques

static final String TAG = "IHMMainActivity"
 

Description détaillée

Classe IHM principale.

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

Documentation des fonctions membres

◆ activerVue()

void com.lasalle.io_trucks.MainActivity.activerVue ( )
private

Définition à la ligne 296 du fichier MainActivity.java.

297  {
298  buttonBluetooth.setText("Déconnecter");
299  buttonRafraichir.setEnabled(true);
300  imageButtonTriangle.setEnabled(true);
301  imageButtonGyrophare.setEnabled(true);
302  imageButtonEclairage.setEnabled(true);
303  imageEtatConnection.setImageResource(R.drawable.green_cricle);
304  textEtatConnection.setText("Connecté");
305  }

◆ afficherEtatS1()

void com.lasalle.io_trucks.MainActivity.afficherEtatS1 ( String []  trame)
private

Définition à la ligne 363 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Protocole.LEVE, et com.lasalle.io_trucks.Protocole.ON.

Référencé par com.lasalle.io_trucks.MainActivity.traiterTrame().

364  {
365  Log.v(TAG, "traiterTrame() trame[2] = " + trame[2] + " (triangle)");
366  if(trame[2].equals(Protocole.LEVE))
367  {
368  imageButtonTriangle.setImageResource(R.drawable.triangle);
369  etatTriangle = true;
370  }
371  else
372  {
373  imageButtonTriangle.setImageResource(R.drawable.triangle_b_w);
374  etatTriangle = false;
375  }
376 
377  Log.v(TAG, "traiterTrame() trame[3] = " + trame[3] + " (gyrophare)");
378  if(trame[3].equals(Protocole.ON))
379  {
380  imageButtonGyrophare.setImageResource(R.drawable.flash);
381  etatGyrophare = true;
382  }
383  else
384  {
385  imageButtonGyrophare.setImageResource(R.drawable.flash_b_w);
386  etatGyrophare = false;
387  }
388 
389  Log.v(TAG, "traiterTrame() trame[4] = " + trame[4] + " (éclairage)");
390  if(trame[4].equals(Protocole.ON))
391  {
392  imageButtonEclairage.setImageResource(R.drawable.spotlight);
393  etatEclairage = true;
394  }
395  else
396  {
397  imageButtonEclairage.setImageResource(R.drawable.spotlight_b_w);
398  etatEclairage = false;
399  }
400  }

◆ creerLiasonReceiverEtatBluetooth()

void com.lasalle.io_trucks.MainActivity.creerLiasonReceiverEtatBluetooth ( )
private

Méthode pour créer les Registers de l'état du bluetooth et donc le lien avec l'état du bluetooth.

Définition à la ligne 290 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Communication.ecouterEtatBluetooth().

Référencé par com.lasalle.io_trucks.MainActivity.onResume().

291  {
292  IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
293  registerReceiver(communicationBluetooth.ecouterEtatBluetooth(), filter);
294  }
BroadcastReceiver ecouterEtatBluetooth()
Vérifie les modification d'état du bluetooth.

◆ decoderTrame()

void com.lasalle.io_trucks.MainActivity.decoderTrame ( String  trame)
private

Méthode perméttant de décoder les trames reçues.

Paramètres
trameContient la trame reçue

Définition à la ligne 328 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Protocole.DELIMITEUR_CHAMP, com.lasalle.io_trucks.Protocole.DELIMITEUR_FIN, com.lasalle.io_trucks.Protocole.EN_TETE, et com.lasalle.io_trucks.MainActivity.traiterTrame().

329  {
330  String nouvelleTrame = "";
331  // Exemple : trame = "$iotruck;S1;0;0;0\r\n"
332  nouvelleTrame = trame.replace(Protocole.EN_TETE,""); // enlever aussi le ; ?
333  // Exemple : nouvelleTrame = ";S1;0;0;0\r\n"
334  nouvelleTrame.replace(Protocole.DELIMITEUR_FIN,"");
335  // Exemple : nouvelleTrame = ";S1;0;0;0"
336  String[] trameCouper = nouvelleTrame.split(Protocole.DELIMITEUR_CHAMP);
337  // Exemple : trameCouper = [0];[1];[2];[3];[4]
338  Log.v(TAG, "decoderTrame() découpage de la trame");
339  // le premier champ est vide
340  for(int i = 1; i < trameCouper.length; i++)
341  {
342  Log.v(TAG, "decoderTrame() champ " + i + " = " + trameCouper[i]);
343  }
344  traiterTrame(trameCouper);
345  }
void traiterTrame(String[] trame)
Méthode permettant de traiter les trames en fonctions de leurs contennue.

◆ demanderEtats()

void com.lasalle.io_trucks.MainActivity.demanderEtats ( )
private

Méthode qui envoie les trames de demande d'états S1 et S2

Définition à la ligne 441 du fichier MainActivity.java.

Références com.lasalle.io_trucks.MainActivity.envoyerTrame().

Référencé par com.lasalle.io_trucks.MainActivity.onClick().

442  {
443  envoyerTrame("$iotruck;S1\r\n");
444  envoyerTrame("$iotruck;S2\r\n");
445  }
void envoyerTrame(String trame)
Méthode qui envoie une trame au périphérique Bluetooth.

◆ envoyerTrame()

void com.lasalle.io_trucks.MainActivity.envoyerTrame ( String  trame)
private

Méthode qui envoie une trame au périphérique Bluetooth.

Définition à la ligne 244 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Peripherique.envoyer(), et com.lasalle.io_trucks.Peripherique.estConnecte().

Référencé par com.lasalle.io_trucks.MainActivity.demanderEtats(), et com.lasalle.io_trucks.MainActivity.onClick().

245  {
246  if(peripheriqueBluetooth != null)
247  {
249  {
250  Log.i(TAG, "envoyerTrame() trame : " + trame);
252  }
253  }
254  }
void envoyer(final String data)
Méthode perméttant d&#39;envoyer une trame à l&#39;aide du Thread.
boolean estConnecte()
Méthode perméttant de savoir si on est connecter.

◆ initialiserWidgets()

void com.lasalle.io_trucks.MainActivity.initialiserWidgets ( )
private

Méthode pour initialiser les Widgets.

Définition à la ligne 275 du fichier MainActivity.java.

Références com.lasalle.io_trucks.MainActivity.renitialiserVue().

Référencé par com.lasalle.io_trucks.MainActivity.onCreate().

276  {
277  renitialiserVue();
278 
279  buttonBluetooth.setOnClickListener(this);
280  buttonRechercher.setOnClickListener(this);
281  buttonRafraichir.setOnClickListener(this);
282  imageButtonTriangle.setOnClickListener(this);
283  imageButtonGyrophare.setOnClickListener(this);
284  imageButtonEclairage.setOnClickListener(this);
285  }
void renitialiserVue()
Méthode permettant de rénitialiser la vue de l&#39;activitée.

◆ onClick()

void com.lasalle.io_trucks.MainActivity.onClick ( View  element)

Méthode de gestion des clics Ceci est la méthode qui gère l'écoute des clics sur les différents widgets de l'interface.

Paramètres
elementelement définis le widget sur lequel le clic est recenssé

Définition à la ligne 133 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Peripherique.connecter(), com.lasalle.io_trucks.Peripherique.deconnecter(), com.lasalle.io_trucks.MainActivity.demanderEtats(), com.lasalle.io_trucks.MainActivity.envoyerTrame(), com.lasalle.io_trucks.Peripherique.estConnecte(), com.lasalle.io_trucks.MainActivity.handler, com.lasalle.io_trucks.Communication.rechercherAppareilConnu(), et com.lasalle.io_trucks.Communication.recupererAppareilBluetooth().

134  {
135  if(element == buttonBluetooth)
136  {
137  if(buttonBluetooth.getText().equals("Connecter"))
138  {
139  BluetoothDevice blueDevice = communicationBluetooth.recupererAppareilBluetooth(editNomPeripherique.getText().toString());
140  if(blueDevice == null)
141  {
142  AlertDialog.Builder boiteAvertissementNonTrouver = new AlertDialog.Builder(this);
143  boiteAvertissementNonTrouver.setMessage("L'appareil io-trucks n'as pas été trouvé. Vérifiez si celui a été appairé correctement.");
144  boiteAvertissementNonTrouver.setPositiveButton("Continuer", new DialogInterface.OnClickListener() {
145  @Override
146  public void onClick(DialogInterface dialog, int which) {
147  }
148  });
149  boiteAvertissementNonTrouver.show();
150  Log.i(TAG, "Appareil io-trucks non trouvé !");
151  return;
152  }
153  else
154  {
155  if(peripheriqueBluetooth == null)
156  {
157  Log.i(TAG, "Instancie peripheriqueBluetooth");
158  peripheriqueBluetooth = new Peripherique(blueDevice, handler);
159  }
161  {
162  Log.i(TAG, "Connexion peripheriqueBluetooth");
164  }
165  else // déjà connecté !
166  {
167  }
168  }
169  }
170  else if(buttonBluetooth.getText().equals("Déconnecter"))
171  {
173  {
175  }
176  }
177  }
178  else if(element == buttonRechercher)
179  {
181  }
182  else if(element == imageButtonTriangle)
183  {
184  Log.i(TAG,"button Triangle");
185  if(!etatTriangle)
186  {
187  envoyerTrame("$iotruck;T;1\r\n");
188  imageButtonTriangle.setImageResource(R.drawable.triangle);
189  etatTriangle = true;
190  }
191  else
192  {
193  envoyerTrame("$iotruck;T;0\r\n");
194  imageButtonTriangle.setImageResource(R.drawable.triangle_b_w);
195  etatTriangle = false;
196  }
197  }
198  else if(element == imageButtonGyrophare)
199  {
200  Log.i(TAG,"button Gyrophare");
201  if(!etatGyrophare)
202  {
203  envoyerTrame("$iotruck;G;1\r\n");
204  imageButtonGyrophare.setImageResource(R.drawable.flash);
205  etatGyrophare = true;
206  }
207  else
208  {
209  envoyerTrame("$iotruck;G;0\r\n");
210  imageButtonGyrophare.setImageResource(R.drawable.flash_b_w);
211  etatGyrophare = false;
212  }
213  }
214  else if(element == imageButtonEclairage)
215  {
216  Log.i(TAG,"button Eclairage");
217  if(!etatEclairage)
218  {
219  envoyerTrame("$iotruck;E;1\r\n");
220  imageButtonEclairage.setImageResource(R.drawable.spotlight);
221  etatEclairage = true;
222  }
223  else
224  {
225  envoyerTrame("$iotruck;E;0\r\n");
226  imageButtonEclairage.setImageResource(R.drawable.spotlight_b_w);
227  etatEclairage = false;
228  }
229  }
230  else if(element == buttonRafraichir)
231  {
232  Log.i(TAG,"button Rafraichir");
233  demanderEtats();
234  }
235  else
236  {
237  Log.i(TAG,"button Inconnu : " + element.getId());
238  }
239  }
boolean deconnecter()
Méthode perméttant de se déconnecter du périphérique.
void rechercherAppareilConnu(Context contextAcceuil)
Méthode de recherche des appareils qui ont déjà était appairer.
final Handler handler
Handler de l&#39;application et des périphériques bluetooth Cette handler permet de gérer le thread de co...
void onClick(View element)
Méthode de gestion des clics Ceci est la méthode qui gère l&#39;écoute des clics sur les différents widge...
boolean estConnecte()
Méthode perméttant de savoir si on est connecter.
void connecter()
Méthode perméttant de se connecter à un périphérique.
BluetoothDevice recupererAppareilBluetooth(String nomAppareil)
Méthode qui retourne l&#39;appareil Bluetooth io-trucks.
void envoyerTrame(String trame)
Méthode qui envoie une trame au périphérique Bluetooth.

◆ onCreate()

void com.lasalle.io_trucks.MainActivity.onCreate ( Bundle  savedInstanceState)
protected

Méthode appelée à la création de l'activité MainActivity.

Paramètres
savedInstanceState

Définition à la ligne 61 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Communication.demanderActivationBluetooth(), com.lasalle.io_trucks.MainActivity.initialiserWidgets(), et com.lasalle.io_trucks.MainActivity.recupererWidgets().

62  {
63  super.onCreate(savedInstanceState);
64  setContentView(R.layout.activity_main);
65  Log.i(TAG,"onCreate()");
66 
69 
71  }
void initialiserWidgets()
Méthode pour initialiser les Widgets.
void recupererWidgets()
Méthode pour associer la vue à l&#39;objet des Widgets.
void demanderActivationBluetooth(Context contextAcceuil)
Vérifie si le bluetooth est disponible et activé, sinon demande l&#39;autorisation de l&#39;activé ...

◆ onDestroy()

void com.lasalle.io_trucks.MainActivity.onDestroy ( )
protected

Méthode appelée à la destruction de l'application (après onStop() et détruite par le système Android)

Définition à la ligne 120 du fichier MainActivity.java.

121  {
122  super.onDestroy();
123  Log.i(TAG,"onDestroy()");
124 
125  }

◆ onPause()

void com.lasalle.io_trucks.MainActivity.onPause ( )
protected

Méthode appelée après qu'une boîte de dialogue s'est affichée (on reprend sur un onResume()) ou avant onStop() (activité plus visible)

Définition à la ligne 98 du fichier MainActivity.java.

Références com.lasalle.io_trucks.Communication.unregisterBluetooth().

99  {
100  super.onPause();
101  Log.i(TAG,"onPause()");
103  }
void unregisterBluetooth(Context contextAcceuil)
Méthode pour unregister les receiver à la destruction de l&#39;application.

◆ onResume()

void com.lasalle.io_trucks.MainActivity.onResume ( )
protected

Méthode appelée après onStart() ou après onPause()

Définition à la ligne 87 du fichier MainActivity.java.

Références com.lasalle.io_trucks.MainActivity.creerLiasonReceiverEtatBluetooth().

88  {
89  super.onResume();
90  Log.i(TAG,"onResume()");
92  }
void creerLiasonReceiverEtatBluetooth()
Méthode pour créer les Registers de l&#39;état du bluetooth et donc le lien avec l&#39;état du bluetooth...

◆ onStart()

void com.lasalle.io_trucks.MainActivity.onStart ( )
protected

Méthode appelée au démarrage après le onCreate() ou un restart après un onStop()

Définition à la ligne 77 du fichier MainActivity.java.

78  {
79  super.onStart();
80  Log.i(TAG,"onStart()");
81  }

◆ onStop()

void com.lasalle.io_trucks.MainActivity.onStop ( )
protected

Méthode appelée lorsque l'activité n'est plus visible.

Définition à la ligne 109 du fichier MainActivity.java.

110  {
111  super.onStop();
112  Log.i(TAG,"onStop()");
113 
114  }

◆ recupererWidgets()

void com.lasalle.io_trucks.MainActivity.recupererWidgets ( )
private

Méthode pour associer la vue à l'objet des Widgets.

Définition à la ligne 259 du fichier MainActivity.java.

Référencé par com.lasalle.io_trucks.MainActivity.onCreate().

260  {
261  buttonBluetooth = findViewById(R.id.buttonConnecter);
262  buttonRechercher = findViewById(R.id.buttonBounded);
263  buttonRafraichir = findViewById(R.id.buttonRafraichir);
264  imageButtonTriangle = findViewById(R.id.imageButtonTriangle);
265  imageButtonGyrophare = findViewById(R.id.imageButtonGyrophares);
266  imageButtonEclairage = findViewById(R.id.imageButtonEclairage);
267  imageEtatConnection = findViewById(R.id.imageViewEtatConnection);
268  textEtatConnection = findViewById(R.id.textViewEtatConnection);
269  editNomPeripherique = findViewById(R.id.editNomPeripherique);;
270  }

◆ renitialiserVue()

void com.lasalle.io_trucks.MainActivity.renitialiserVue ( )
private

Méthode permettant de rénitialiser la vue de l'activitée.

Définition à la ligne 310 du fichier MainActivity.java.

Référencé par com.lasalle.io_trucks.MainActivity.initialiserWidgets().

311  {
312  buttonBluetooth.setText("Connecter");
313  buttonRafraichir.setEnabled(false);
314  imageButtonTriangle.setEnabled(false);
315  imageButtonGyrophare.setEnabled(false);
316  imageButtonEclairage.setEnabled(false);
317  imageButtonTriangle.setImageResource(R.drawable.triangle_b_w);
318  imageButtonEclairage.setImageResource(R.drawable.spotlight_b_w);
319  imageButtonGyrophare.setImageResource(R.drawable.flash_b_w);
320  imageEtatConnection.setImageResource(R.drawable.red_circle);
321  textEtatConnection.setText("Déconnecté");
322  }

◆ traiterTrame()

void com.lasalle.io_trucks.MainActivity.traiterTrame ( String []  trame)
private

Méthode permettant de traiter les trames en fonctions de leurs contennue.

Paramètres
tramecontient la trame reçu après avoir était décoder et découper
A faire:
Traiter les autres types de trames

Définition à la ligne 351 du fichier MainActivity.java.

Références com.lasalle.io_trucks.MainActivity.afficherEtatS1(), et com.lasalle.io_trucks.Protocole.TRAME_REQUETE_STATE1.

Référencé par com.lasalle.io_trucks.MainActivity.decoderTrame().

352  {
353  Log.v(TAG, "traiterTrame() trame[1] = " + trame[1] + " (type)");
354  if(trame[1].equals(Protocole.TRAME_REQUETE_STATE1))
355  {
356  afficherEtatS1(trame);
357  }
361  }
void afficherEtatS1(String[] trame)

Documentation des données membres

◆ buttonBluetooth

Button com.lasalle.io_trucks.MainActivity.buttonBluetooth
private

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

◆ buttonRafraichir

Button com.lasalle.io_trucks.MainActivity.buttonRafraichir
private

Définition à la ligne 46 du fichier MainActivity.java.

◆ buttonRechercher

Button com.lasalle.io_trucks.MainActivity.buttonRechercher
private

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

◆ communicationBluetooth

Communication com.lasalle.io_trucks.MainActivity.communicationBluetooth = new Communication()
private

Définition à la ligne 50 du fichier MainActivity.java.

◆ editNomPeripherique

EditText com.lasalle.io_trucks.MainActivity.editNomPeripherique
private

Définition à la ligne 54 du fichier MainActivity.java.

◆ etatEclairage

Boolean com.lasalle.io_trucks.MainActivity.etatEclairage = false
private

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

◆ etatGyrophare

Boolean com.lasalle.io_trucks.MainActivity.etatGyrophare = false
private

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

◆ etatTriangle

Boolean com.lasalle.io_trucks.MainActivity.etatTriangle = false
private

Attributs

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

◆ handler

final Handler com.lasalle.io_trucks.MainActivity.handler
private
Valeur initiale :
= new Handler()
{
@Override
public void handleMessage(Message msg)
{
super.handleMessage(msg);
switch(msg.what)
{
case Peripherique.CODE_CONNEXION:
Log.v(TAG, "handleMessage() io-trucks connecté");
break;
case Peripherique.CODE_RECEPTION:
Log.v(TAG, "handleMessage() io-trucks réception : " + (String)msg.obj);
decoderTrame((String)msg.obj);
break;
case Peripherique.CODE_EMISSION:
Log.v(TAG, "handleMessage() io-trucks émission : " + (String)msg.obj);
break;
case Peripherique.CODE_DECONNEXION:
Log.v(TAG, "handleMessage() io-trucks déconnecté");
break;
}
}
}

Handler de l'application et des périphériques bluetooth Cette handler permet de gérer le thread de communication de l'application.

Définition à la ligne 406 du fichier MainActivity.java.

Référencé par com.lasalle.io_trucks.MainActivity.onClick().

◆ imageButtonEclairage

ImageButton com.lasalle.io_trucks.MainActivity.imageButtonEclairage
private

Définition à la ligne 49 du fichier MainActivity.java.

◆ imageButtonGyrophare

ImageButton com.lasalle.io_trucks.MainActivity.imageButtonGyrophare
private

Définition à la ligne 48 du fichier MainActivity.java.

◆ imageButtonTriangle

ImageButton com.lasalle.io_trucks.MainActivity.imageButtonTriangle
private

Définition à la ligne 47 du fichier MainActivity.java.

◆ imageEtatConnection

ImageView com.lasalle.io_trucks.MainActivity.imageEtatConnection
private

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

◆ peripheriqueBluetooth

Peripherique com.lasalle.io_trucks.MainActivity.peripheriqueBluetooth = null
private

Définition à la ligne 51 du fichier MainActivity.java.

◆ TAG

final String com.lasalle.io_trucks.MainActivity.TAG = "IHMMainActivity"
staticprivate

Constantes

Définition à la ligne 37 du fichier MainActivity.java.

◆ textEtatConnection

TextView com.lasalle.io_trucks.MainActivity.textEtatConnection
private

Définition à la ligne 53 du fichier MainActivity.java.


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