Projet Bee-Honey't  1.0
BTS SN 2019
Attributs publics | Fonctions membres protégées | Fonctions membres privées | Attributs privés | Attributs privés statiques | Liste de tous les membres
Référence de la classe fr.campus.laurainc.honeybee.DashboardActivity
Graphe de collaboration de fr.campus.laurainc.honeybee.DashboardActivity:
Collaboration graph

Attributs publics

Spinner choixRuche
 

Fonctions membres protégées

void onCreate (Bundle savedInstanceState)
 

Fonctions membres privées

void recupererElementsVue ()
 
void afficherListeRuches ()
 
void afficherInformationsRuche ()
 Affichage des informations d'une ruche dans la vue. Plus de détails...
 
void communiquerTTN (String deviceID)
 
void traiterMessage (MqttMessage mqttMessage)
 
void afficherMesuresInt (double temperatureInterieure, double humiditeInterieure, String Horodatage)
 
void afficherPoids (int Poids, String Horodatage)
 
void afficherMesuresExt (double Humidite, String Horodatage)
 
void supprimerRuche ()
 

Attributs privés

BaseDeDonnees bdd = null
 l'objet permettant un accès à la base de données MySQL Plus de détails...
 
ClientMQTT clientMQTT = null
 
CardView cardView_Ruche
 la vue contenant les informations générales de la ruche Plus de détails...
 
TextView txt_NomRuche
 
TextView txtTemperature
 
TextView txtPoids
 
TextView txtHumidite
 
TextView donneesTTN
 
TextView txtHorodatage
 
FloatingActionButton boutonAjouterSupprimerRuche
 
FloatingActionButton boutonSupprimerRuche
 
ArrayList< String > mesRuches
 
final Handler handler
 

Attributs privés statiques

static final String TAG = "DashboardActivity"
 le TAG de la classe pour les logs Plus de détails...
 

Documentation des fonctions membres

◆ afficherInformationsRuche()

fr.campus.laurainc.honeybee.DashboardActivity.afficherInformationsRuche ( )
private

Références fr.campus.laurainc.honeybee.DashboardActivity.communiquerTTN(), fr.campus.laurainc.honeybee.Ruche.getDeviceID(), fr.campus.laurainc.honeybee.Ruche.getHumidite(), fr.campus.laurainc.honeybee.Ruche.getNom(), fr.campus.laurainc.honeybee.Ruche.getPoids(), et fr.campus.laurainc.honeybee.Ruche.getTemperature().

138  {
139  if(ruche != null)
140  {
141  Log.d(TAG, "Ruche : " + ruche.getNom());
142  txt_NomRuche.setText(ruche.getNom());
143  txtTemperature.setText(ruche.getTemperature() + "°C");
144  txtPoids.setText(ruche.getPoids() + "Kg");
145  txtHumidite.setText(ruche.getHumidite() + "%");
146  donneesTTN.setText("En attente des données du serveur TTN ...");
147  String topic = "mes_ruches/devices/" + ruche.getDeviceID() + "/up";
148  clientMQTT = new ClientMQTT(ruche.getDeviceID(), topic, getApplicationContext());
149  communiquerTTN(ruche.getDeviceID());
150  }
151  }
String getPoids()
Definition: Ruche.java:118
ClientMQTT clientMQTT
Definition: DashboardActivity.java:39
void communiquerTTN(String deviceID)
Definition: DashboardActivity.java:153
static final String TAG
le TAG de la classe pour les logs
Definition: DashboardActivity.java:34
String getTemperature()
Definition: Ruche.java:114
TextView donneesTTN
Definition: DashboardActivity.java:45
String getHumidite()
Definition: Ruche.java:122
TextView txt_NomRuche
Definition: DashboardActivity.java:41
String getDeviceID()
Definition: Ruche.java:126
String getNom()
Retourne le nom de la ruche.
Definition: Ruche.java:110
TextView txtPoids
Definition: DashboardActivity.java:43
TextView txtHumidite
Definition: DashboardActivity.java:44
TextView txtTemperature
Definition: DashboardActivity.java:42

◆ afficherListeRuches()

void fr.campus.laurainc.honeybee.DashboardActivity.afficherListeRuches ( )
private

Références fr.campus.laurainc.honeybee.ClientMQTT.deconnecter(), fr.campus.laurainc.honeybee.ClientMQTT.estConnecte(), fr.campus.laurainc.honeybee.Ruche.getListeRuches(), fr.campus.laurainc.honeybee.DashboardActivity.handler, et fr.campus.laurainc.honeybee.DashboardActivity.mesRuches.

99  {
100  mesRuches = ruche.getListeRuches();
101  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mesRuches);
102  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
103  choixRuche.setAdapter(adapter);
104  choixRuche.setSelection(0);
105  //adapter.setNotifyOnChange(true);
106 
107  choixRuche.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
108  {
109  @Override
110  public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id)
111  {
112  Toast.makeText(getBaseContext(), mesRuches.get(position), Toast.LENGTH_SHORT).show();
113  Log.d(TAG, "position : " + position);
114  if(clientMQTT != null)
115  {
116  if(clientMQTT.estConnecte())
118 
119  }
120  // Instancie une ruche
121  ruche = new Ruche(mesRuches.get(position), handler);
122  }
123 
124  @Override
125  public void onNothingSelected(AdapterView<?> arg0)
126  {
127  // TODO Auto-generated method stub
128  }
129  });
130  }
La classe Ruche.
Definition: ruche.h:115
ClientMQTT clientMQTT
Definition: DashboardActivity.java:39
ArrayList< String > getListeRuches()
Definition: Ruche.java:285
void deconnecter()
Definition: ClientMQTT.java:107
boolean estConnecte()
Definition: ClientMQTT.java:172
final Handler handler
Definition: DashboardActivity.java:259
static final String TAG
le TAG de la classe pour les logs
Definition: DashboardActivity.java:34
Spinner choixRuche
Definition: DashboardActivity.java:49
ArrayList< String > mesRuches
Definition: DashboardActivity.java:50

◆ afficherMesuresExt()

void fr.campus.laurainc.honeybee.DashboardActivity.afficherMesuresExt ( double  Humidite,
String  Horodatage 
)
private
248  {
249  txtPoids.setText(valueOf(Humidite) + " %");
250  txtHorodatage.setText(Horodatage);
251  }
TextView txtHorodatage
Definition: DashboardActivity.java:46
TextView txtPoids
Definition: DashboardActivity.java:43

◆ afficherMesuresInt()

void fr.campus.laurainc.honeybee.DashboardActivity.afficherMesuresInt ( double  temperatureInterieure,
double  humiditeInterieure,
String  Horodatage 
)
private

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

234  {
235  txtTemperature.setText(valueOf(temperatureInterieure) + " °C");
236  txtHumidite.setText(valueOf(humiditeInterieure) + " %");
237  txtHorodatage.setText(Horodatage);
238  }
TextView txtHorodatage
Definition: DashboardActivity.java:46
TextView txtHumidite
Definition: DashboardActivity.java:44
TextView txtTemperature
Definition: DashboardActivity.java:42

◆ afficherPoids()

void fr.campus.laurainc.honeybee.DashboardActivity.afficherPoids ( int  Poids,
String  Horodatage 
)
private

Références fr.campus.laurainc.honeybee.ClientMQTT.arrondir().

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

241  {
242  double poidsKg = clientMQTT.arrondir(((double)Poids / 1000.), 1);
243  txtPoids.setText(valueOf(poidsKg) + " Kg");
244  txtHorodatage.setText(Horodatage);
245  }
ClientMQTT clientMQTT
Definition: DashboardActivity.java:39
double arrondir(double nombre, double nbApresVirgule)
Definition: ClientMQTT.java:279
TextView txtHorodatage
Definition: DashboardActivity.java:46
TextView txtPoids
Definition: DashboardActivity.java:43

◆ communiquerTTN()

void fr.campus.laurainc.honeybee.DashboardActivity.communiquerTTN ( String  deviceID)
private

Références fr.campus.laurainc.honeybee.ClientMQTT.setCallback(), et fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.afficherInformationsRuche().

154  {
155  Log.d(TAG, "deviceID : " + deviceID);
156  clientMQTT.setCallback(new MqttCallbackExtended() {
157  @Override
158  public void connectComplete(boolean b, String s) {
159 
160  }
161 
162  @Override
163  public void connectionLost(Throwable throwable) {
164 
165  }
166 
167  @Override
168  public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
169  Log.d(TAG, "Topic : " + topic);
170  Log.d(TAG, "Message : " + mqttMessage.toString());
171 
172  // débogage IHM
173  donneesTTN.setText(mqttMessage.toString());
174  traiterMessage(mqttMessage);
175  }
176 
177  @Override
178  public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
179 
180  }
181  });
182  }
ClientMQTT clientMQTT
Definition: DashboardActivity.java:39
void traiterMessage(MqttMessage mqttMessage)
Definition: DashboardActivity.java:184
static final String TAG
le TAG de la classe pour les logs
Definition: DashboardActivity.java:34
TextView donneesTTN
Definition: DashboardActivity.java:45
void setCallback(MqttCallbackExtended callback)
Definition: ClientMQTT.java:70

◆ onCreate()

void fr.campus.laurainc.honeybee.DashboardActivity.onCreate ( Bundle  savedInstanceState)
protected

Références fr.campus.laurainc.honeybee.DashboardActivity.handler, fr.campus.laurainc.honeybee.DashboardActivity.recupererElementsVue(), et fr.campus.laurainc.honeybee.Ruche.recupererListeRuches().

54  {
55  super.onCreate(savedInstanceState);
56  setContentView(R.layout.activity_dash_board);
57 
58  // Récupère les éléments de la vue d'une Ruche dans l'IHM
60 
61  // Instancie une ruche
62  ruche = new Ruche(handler);
63  ruche.recupererListeRuches();
64 
65 
66  }
void recupererElementsVue()
Definition: DashboardActivity.java:68
La classe Ruche.
Definition: ruche.h:115
void recupererListeRuches()
Definition: Ruche.java:230
final Handler handler
Definition: DashboardActivity.java:259

◆ recupererElementsVue()

void fr.campus.laurainc.honeybee.DashboardActivity.recupererElementsVue ( )
private

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.onCreate().

68  {
69  cardView_Ruche = findViewById(R.id.CardView_Ruche);
70  txt_NomRuche = (TextView) this.findViewById(R.id.tv_NomRuche);
71  txtTemperature = (TextView) this.findViewById(R.id.txtTemperature);
72  txtPoids = (TextView) this.findViewById(R.id.txtPoids);
73  txtHumidite = (TextView) this.findViewById(R.id.txtHumidite);
74  donneesTTN = (TextView) this.findViewById(R.id.DonneesTTN);
75  txtHorodatage = (TextView) this.findViewById(R.id.txt_horodatage);
76  choixRuche = (Spinner) findViewById(R.id.choixRuche);
77  boutonAjouterSupprimerRuche = (FloatingActionButton) findViewById(R.id.fbtn_AjouterSupprimer);
78  boutonSupprimerRuche = (FloatingActionButton) findViewById(R.id.fb_btnSupprimer);
79 
80 
81  final Intent nouvelleRuche = new Intent(DashboardActivity.this, NouvelleRucheActivity.class);
82  boutonAjouterSupprimerRuche.setOnClickListener(new View.OnClickListener() {
83  @Override
84  public void onClick(View v)
85  {
86  startActivity(nouvelleRuche);
87  }
88  });
89  final Intent actualsation = new Intent(DashboardActivity.this, DashboardActivity.class);
90  boutonSupprimerRuche.setOnClickListener(new View.OnClickListener() {
91  @Override
92  public void onClick(View v) {
93  //supprimerRuche();
94  startActivity(actualsation);
95  }
96  });
97  }
FloatingActionButton boutonSupprimerRuche
Definition: DashboardActivity.java:48
CardView cardView_Ruche
la vue contenant les informations générales de la ruche
Definition: DashboardActivity.java:40
TextView donneesTTN
Definition: DashboardActivity.java:45
Spinner choixRuche
Definition: DashboardActivity.java:49
TextView txt_NomRuche
Definition: DashboardActivity.java:41
FloatingActionButton boutonAjouterSupprimerRuche
Definition: DashboardActivity.java:47
TextView txtHorodatage
Definition: DashboardActivity.java:46
TextView txtPoids
Definition: DashboardActivity.java:43
TextView txtHumidite
Definition: DashboardActivity.java:44
TextView txtTemperature
Definition: DashboardActivity.java:42

◆ supprimerRuche()

void fr.campus.laurainc.honeybee.DashboardActivity.supprimerRuche ( )
private

Références fr.campus.laurainc.honeybee.Ruche.getIdRuche(), fr.campus.laurainc.honeybee.BaseDeDonnees.getInstance(), et fr.campus.laurainc.honeybee.BaseDeDonnees.supprimerRuche().

254  {
256  bdd.supprimerRuche(ruche.getIdRuche());
257  }
void supprimerRuche(final int idRuche)
Definition: BaseDeDonnees.java:433
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: baseDeDonnees.cpp:38
BaseDeDonnees bdd
l&#39;objet permettant un accès à la base de données MySQL
Definition: DashboardActivity.java:36
Definition: baseDeDonnees.h:25
int getIdRuche()
Definition: Ruche.java:407

◆ traiterMessage()

void fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage ( MqttMessage  mqttMessage)
private
A faire:
Stocker le poids dans l'objet ruche
A faire:
Stocker les mesures dans l'objet ruche

Références fr.campus.laurainc.honeybee.DashboardActivity.afficherMesuresInt(), fr.campus.laurainc.honeybee.DashboardActivity.afficherPoids(), fr.campus.laurainc.honeybee.ClientMQTT.extraireHorodatage(), fr.campus.laurainc.honeybee.ClientMQTT.extraireHumiditeInterieure(), fr.campus.laurainc.honeybee.ClientMQTT.extrairePoids(), fr.campus.laurainc.honeybee.ClientMQTT.extraireTemperatureInterieure(), fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_ENVIRONEMENT, fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_POIDS, et fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_RUCHE.

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.communiquerTTN().

185  {
186  final String message = mqttMessage.toString();
187 
188  try
189  {
190  JSONObject jsonObjet = new JSONObject(message);
191  int port = jsonObjet.getInt("port");
192  String Horodatage = clientMQTT.extraireHorodatage(mqttMessage);
193  Log.d(TAG, "Port : " + port);
194  switch(port)
195  {
196  case ClientMQTT.PORT_MESURE_POIDS:
197  int poids = clientMQTT.extrairePoids(mqttMessage); // poids en grammes
198 
199  afficherPoids(poids, Horodatage);
200 
204  break;
205  case ClientMQTT.PORT_MESURE_RUCHE:
206  double temperatureInterieure = clientMQTT.extraireTemperatureInterieure(mqttMessage);
207  double humiditeInterieure = clientMQTT.extraireHumiditeInterieure(mqttMessage);
208 
209  // Afficher les mesures
210  afficherMesuresInt(temperatureInterieure, humiditeInterieure, Horodatage);
211 
215  break;
216  case ClientMQTT.PORT_MESURE_ENVIRONEMENT:
217  double temperatureExterieur = 0.0;
218  double humiditeExterieur = 0.0;
219  double pression = 0.0;
220 
221  //afficherMesuresExt(humiditeExterieur, Horodatage);
222 
223  default:
224  break;
225  }
226  }
227  catch (JSONException e)
228  {
229  e.printStackTrace();
230  }
231  }
ClientMQTT clientMQTT
Definition: DashboardActivity.java:39
double extraireTemperatureInterieure(MqttMessage mqttMessage)
Definition: ClientMQTT.java:210
void afficherPoids(int Poids, String Horodatage)
Definition: DashboardActivity.java:240
String extraireHorodatage(MqttMessage mqttMessage)
Definition: ClientMQTT.java:258
double extraireHumiditeInterieure(MqttMessage mqttMessage)
Definition: ClientMQTT.java:188
static final String TAG
le TAG de la classe pour les logs
Definition: DashboardActivity.java:34
int extrairePoids(MqttMessage mqttMessage)
Definition: ClientMQTT.java:232
void afficherMesuresInt(double temperatureInterieure, double humiditeInterieure, String Horodatage)
Definition: DashboardActivity.java:233

Documentation des données membres

◆ bdd

BaseDeDonnees fr.campus.laurainc.honeybee.DashboardActivity.bdd = null
private

◆ boutonAjouterSupprimerRuche

FloatingActionButton fr.campus.laurainc.honeybee.DashboardActivity.boutonAjouterSupprimerRuche
private

◆ boutonSupprimerRuche

FloatingActionButton fr.campus.laurainc.honeybee.DashboardActivity.boutonSupprimerRuche
private

◆ cardView_Ruche

CardView fr.campus.laurainc.honeybee.DashboardActivity.cardView_Ruche
private

◆ choixRuche

Spinner fr.campus.laurainc.honeybee.DashboardActivity.choixRuche

◆ clientMQTT

ClientMQTT fr.campus.laurainc.honeybee.DashboardActivity.clientMQTT = null
private

◆ donneesTTN

TextView fr.campus.laurainc.honeybee.DashboardActivity.donneesTTN
private

◆ handler

final Handler fr.campus.laurainc.honeybee.DashboardActivity.handler
private
Valeur initiale :
= new Handler()
{
public void handleMessage(Message msg)
{
super.handleMessage(msg);
switch (msg.what)
{
case HoneyBee.REQUETE_SQL_ERREUR:
Log.d(TAG, "handleMessage -> REQUETE SQL ERREUR");
break;
case HoneyBee.REQUETE_SQL_OK:
Log.d(TAG, "handleMessage -> REQUETE SQL OK");
break;
case HoneyBee.REQUETE_SQL_LISTE_RUCHES:
Log.d(TAG, "handleMessage -> REQUETE SQL LISTE RUCHES");
break;
case HoneyBee.REQUETE_SQL_RUCHE:
Log.d(TAG, "handleMessage -> REQUETE SQL RUCHE");
break;
}
}
}

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.afficherListeRuches(), et fr.campus.laurainc.honeybee.DashboardActivity.onCreate().

◆ mesRuches

ArrayList<String> fr.campus.laurainc.honeybee.DashboardActivity.mesRuches
private

◆ TAG

final String fr.campus.laurainc.honeybee.DashboardActivity.TAG = "DashboardActivity"
staticprivate

◆ txt_NomRuche

TextView fr.campus.laurainc.honeybee.DashboardActivity.txt_NomRuche
private

◆ txtHorodatage

TextView fr.campus.laurainc.honeybee.DashboardActivity.txtHorodatage
private

◆ txtHumidite

TextView fr.campus.laurainc.honeybee.DashboardActivity.txtHumidite
private

◆ txtPoids

TextView fr.campus.laurainc.honeybee.DashboardActivity.txtPoids
private

◆ txtTemperature

TextView fr.campus.laurainc.honeybee.DashboardActivity.txtTemperature
private

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