Projet Bee-Honey't  1.0
BTS SN 2019
Classes | Fonctions membres publiques | Fonctions membres publiques statiques | Attributs publics statiques | 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.BaseDeDonnees

Gestion d'une base de données MySQL (Singleton) Plus de détails...

Graphe de collaboration de fr.campus.laurainc.honeybee.BaseDeDonnees:
Collaboration graph

Classes

class  ConnexionMySql
 Classe permettant de se connecter à MySQL en arrière-plan. Plus de détails...
 

Fonctions membres publiques

Object readResolve ()
 Retourne l'objet dans un flux (cf. Singleton) Plus de détails...
 
void setParametres (String url, String username, String password)
 Modifie les paramètres de connexion à la base de donnees et se reconnecte. Plus de détails...
 
void setActivite (Activity activite)
 Fixe l'activité appelante associée à l'instance de Base de données. Plus de détails...
 
boolean connecter ()
 Connexion à la base de données MySQL si pas déjà connecté Plus de détails...
 
boolean reconnecter ()
 Reconnexion à la base de données MySQL. Plus de détails...
 
boolean deconnecter ()
 Déconnexion de la base de données MySQL. Plus de détails...
 
boolean estConnecte ()
 Retourne vrai si on est connecté à la base de données MySQL. Plus de détails...
 
void executerRequete (final String requete)
 Méthode qui exécute une requête UPDATE, INSERT ou DELETE en arrière-plan. Plus de détails...
 
void supprimerRuche (final int idRuche)
 

Fonctions membres publiques statiques

static synchronized BaseDeDonnees getInstance ()
 Retourne l'instance BaseDeDonnees. Plus de détails...
 
static synchronized BaseDeDonnees getInstance (Activity activite)
 
static synchronized BaseDeDonnees getInstance (String url, String username, String password)
 
static synchronized BaseDeDonnees getInstance (Activity activite, String url, String username, String password)
 

Attributs publics statiques

static Connection connexion = null
 objet de connexion à MySQL (null par défaut) Plus de détails...
 
static final Lock mutex = new ReentrantLock(true)
 mutex pour l'exécution concurrente de requêtes Plus de détails...
 

Fonctions membres privées

 BaseDeDonnees ()
 Constructeur par défaut de la classe BaseDeDonnees. Plus de détails...
 
 BaseDeDonnees (Activity activite)
 
 BaseDeDonnees (String url, String username, String password)
 
 BaseDeDonnees (Activity activite, String url, String username, String password)
 

Attributs privés

Activity activite = null
 objet sur l'activite ayant créé l'objet BaseDeDonnees (si besoin pour UI) Plus de détails...
 
String url
 l'URL pointant sur la base de données d'un serveur MySQL Plus de détails...
 
String username
 le nom du compte utilisateur (root par défaut) Plus de détails...
 
String password
 le mot de passe du compte utilisateur (password par défaut) Plus de détails...
 

Attributs privés statiques

static final String TAG = "BaseDeDonnees"
 le TAG de la classe pour les logs Plus de détails...
 
static BaseDeDonnees bdd = null
 l'instance unique de BaseDeDonnees (Singleton) Plus de détails...
 

Description détaillée

Auteur
Thierry Vaira

Documentation des constructeurs et destructeur

◆ BaseDeDonnees() [1/4]

BaseDeDonnees.BaseDeDonnees ( )
private

Constructeur de la classe BaseDeDonnees.

Paramètres
activiteActivity l'activité appelante
urlString l'URL pointant sur la base de données d'un serveur MySQL
usernameString le nom d'utilisateur
passwordString le mot de passe de l'utilisateur
activiteActivity l'activité appelante
urlString l'URL pointant sur la base de données d'un serveur MySQL
usernameString le nom d'utilisateur
passwordString le mot de passe de l'utilisateur

Référencé par fr.campus.laurainc.honeybee.BaseDeDonnees.getInstance().

106  {
107  }

◆ BaseDeDonnees() [2/4]

fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees ( Activity  activite)
private

Références fr.campus.laurainc.honeybee.BaseDeDonnees.activite.

115  {
116  this.activite = activite;
117  }
Activity activite
objet sur l'activite ayant créé l'objet BaseDeDonnees (si besoin pour UI)
Definition: BaseDeDonnees.java:28

◆ BaseDeDonnees() [3/4]

fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees ( String  url,
String  username,
String  password 
)
private

Références fr.campus.laurainc.honeybee.BaseDeDonnees.connecter(), fr.campus.laurainc.honeybee.BaseDeDonnees.password, fr.campus.laurainc.honeybee.BaseDeDonnees.url, et fr.campus.laurainc.honeybee.BaseDeDonnees.username.

127  {
128  Log.v(TAG, "url=" + url);
129  Log.v(TAG, "username=" + username);
130  Log.v(TAG, "password=" + password);
131  this.url = url;
132  this.username = username;
133  this.password = password;
134  // on peut se connecter
135  connecter();
136  }
String url
l'URL pointant sur la base de données d'un serveur MySQL
Definition: BaseDeDonnees.java:30
String username
le nom du compte utilisateur (root par défaut)
Definition: BaseDeDonnees.java:31
String password
le mot de passe du compte utilisateur (password par défaut)
Definition: BaseDeDonnees.java:32
static final String TAG
le TAG de la classe pour les logs
Definition: BaseDeDonnees.java:25
boolean connecter()
Connexion à la base de données MySQL si pas déjà connecté
Definition: BaseDeDonnees.java:190

◆ BaseDeDonnees() [4/4]

fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees ( Activity  activite,
String  url,
String  username,
String  password 
)
private

Références fr.campus.laurainc.honeybee.BaseDeDonnees.activite, fr.campus.laurainc.honeybee.BaseDeDonnees.connecter(), fr.campus.laurainc.honeybee.BaseDeDonnees.password, fr.campus.laurainc.honeybee.BaseDeDonnees.url, et fr.campus.laurainc.honeybee.BaseDeDonnees.username.

147  {
148  Log.v(TAG, "url=" + url);
149  Log.v(TAG, "username=" + username);
150  Log.v(TAG, "password=" + password);
151  this.activite = activite;
152  this.url = url;
153  this.username = username;
154  this.password = password;
155  // on peut se connecter
156  connecter();
157  }
String url
l'URL pointant sur la base de données d'un serveur MySQL
Definition: BaseDeDonnees.java:30
String username
le nom du compte utilisateur (root par défaut)
Definition: BaseDeDonnees.java:31
Activity activite
objet sur l'activite ayant créé l'objet BaseDeDonnees (si besoin pour UI)
Definition: BaseDeDonnees.java:28
String password
le mot de passe du compte utilisateur (password par défaut)
Definition: BaseDeDonnees.java:32
static final String TAG
le TAG de la classe pour les logs
Definition: BaseDeDonnees.java:25
boolean connecter()
Connexion à la base de données MySQL si pas déjà connecté
Definition: BaseDeDonnees.java:190

Documentation des fonctions membres

◆ connecter()

BaseDeDonnees.connecter ( )
Renvoie
boolean vrai si la connexion a réussi sinon faux

Références fr.campus.laurainc.honeybee.HoneyBee.BDD, et fr.campus.laurainc.honeybee.BaseDeDonnees.estConnecte().

Référencé par fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees(), fr.campus.laurainc.honeybee.MainActivity.onCreate(), fr.campus.laurainc.honeybee.NouvelleRucheActivity.onCreate(), fr.campus.laurainc.honeybee.BaseDeDonnees.reconnecter(), et fr.campus.laurainc.honeybee.Ruche.Ruche().

191  {
192  if(!HoneyBee.BDD)
193  return false;
194 
195  try
196  {
197  if (!estConnecte())
198  {
199  ConnexionMySql connexionMySql = new ConnexionMySql();
200  connexionMySql.execute();
201  Log.d(TAG, "connecter -> retour : " + connexionMySql.get());
202  return connexionMySql.get();
203  }
204  return true;
205  }
206  catch (InterruptedException e)
207  {
208  e.printStackTrace();
209  Log.e(TAG, "connecter -> InterruptedException : " + e.toString());
210  return false;
211  }
212  catch (ExecutionException e)
213  {
214  e.printStackTrace();
215  Log.e(TAG, "connecter -> ExecutionException : " + e.toString());
216  return false;
217  }
218  }
boolean estConnecte()
Retourne vrai si on est connecté à la base de données MySQL.
Definition: BaseDeDonnees.java:266
static final String TAG
le TAG de la classe pour les logs
Definition: BaseDeDonnees.java:25

◆ deconnecter()

BaseDeDonnees.deconnecter ( )
Renvoie
boolean vrai si la déconnexion a réussi sinon faux

Références fr.campus.laurainc.honeybee.HoneyBee.BDD.

Référencé par fr.campus.laurainc.honeybee.BaseDeDonnees.reconnecter().

239  {
240  if (!HoneyBee.BDD)
241  return false;
242 
243  try
244  {
245  if (connexion != null)
246  {
247  connexion.close();
248  Log.d(TAG, "deconnecter -> retour : " + connexion.isClosed());
249  return connexion.isClosed();
250  }
251  return true;
252  }
253  catch (SQLException e)
254  {
255  e.printStackTrace();
256  Log.e(TAG, "deconnecter -> ExecutionException : " + e.toString());
257  return false;
258  }
259  }
static Connection connexion
objet de connexion à MySQL (null par défaut)
Definition: BaseDeDonnees.java:26
static final String TAG
le TAG de la classe pour les logs
Definition: BaseDeDonnees.java:25

◆ estConnecte()

BaseDeDonnees.estConnecte ( )
Renvoie
boolean vrai si on est connecté à la base de données MySQL sinon faux

Références fr.campus.laurainc.honeybee.HoneyBee.BDD.

Référencé par fr.campus.laurainc.honeybee.BaseDeDonnees.connecter(), fr.campus.laurainc.honeybee.BaseDeDonnees.ConnexionMySql.doInBackground(), fr.campus.laurainc.honeybee.BaseDeDonnees.executerRequete(), fr.campus.laurainc.honeybee.Ruche.recuperer(), fr.campus.laurainc.honeybee.Ruche.recupererChoixChAppID(), fr.campus.laurainc.honeybee.Ruche.recupererIdTTN(), fr.campus.laurainc.honeybee.Ruche.recupererListeRuches(), et fr.campus.laurainc.honeybee.BaseDeDonnees.supprimerRuche().

267  {
268  if(!HoneyBee.BDD)
269  return false;
270 
271  try
272  {
273  if(connexion != null)
274  return !connexion.isClosed();
275  else
276  return false;
277  }
278  catch (SQLException e)
279  {
280  e.printStackTrace();
281  return false;
282  }
283  }
static Connection connexion
objet de connexion à MySQL (null par défaut)
Definition: BaseDeDonnees.java:26

◆ executerRequete()

BaseDeDonnees.executerRequete ( final String  requete)

Références fr.campus.laurainc.honeybee.HoneyBee.BDD, et fr.campus.laurainc.honeybee.BaseDeDonnees.estConnecte().

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

389  {
390  if(!HoneyBee.BDD)
391  return;
392 
393  if(estConnecte())
394  {
395  // Seulement pour les requêtes UPDATE, INSERT ou DELETE
396  if(!requete.contains("UPDATE") && !requete.contains("INSERT") && !requete.contains("DELETE"))
397  return;
398 
399  // Exécute la requête dans un thread
400  Thread requeteBDD = new Thread(new Runnable()
401  {
402  public void run()
403  {
404  mutex.lock();
405  try
406  {
407  Log.d(TAG, "executerRequete -> requete : " + requete);
408  Statement statement = connexion.createStatement();
409  statement.executeUpdate(requete);
410  }
411  catch (Exception e)
412  {
413  e.printStackTrace();
414  Log.e(TAG, "executerRequete -> exception : " + e.toString());
415  }
416  finally
417  {
418  mutex.unlock();
419  }
420  }
421  });
422 
423  // Démarrage de l'exécution de la requête
424  Log.v("BDD", "Requete OK = " + requete);
425  requeteBDD.start();
426  }
427  else
428  {
429  Log.w(TAG, "Pas de connexion MySQL !");
430  }
431  }
boolean estConnecte()
Retourne vrai si on est connecté à la base de données MySQL.
Definition: BaseDeDonnees.java:266
static Connection connexion
objet de connexion à MySQL (null par défaut)
Definition: BaseDeDonnees.java:26
static final Lock mutex
mutex pour l'exécution concurrente de requêtes
Definition: BaseDeDonnees.java:27
static final String TAG
le TAG de la classe pour les logs
Definition: BaseDeDonnees.java:25

◆ getInstance() [1/4]

BaseDeDonnees.getInstance ( )
static
Renvoie
BaseDeDonnees l'instance BaseDeDonnees
Paramètres
activiteActivity l'activité appelante
Renvoie
BaseDeDonnees l'instance BaseDeDonnees
Paramètres
urlString l'URL pointant sur la base de données d'un serveur MySQL
usernameString le nom d'utilisateur
passwordString le mot de passe de l'utilisateur
Renvoie
BaseDeDonnees l'instance BaseDeDonnees
Paramètres
activiteActivity l'activité appelante
urlString l'URL pointant sur la base de données d'un serveur MySQL
usernameString le nom d'utilisateur
passwordString le mot de passe de l'utilisateur
Renvoie
BaseDeDonnees l'instance BaseDeDonnees

Références fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees(), et fr.campus.laurainc.honeybee.BaseDeDonnees.bdd.

Référencé par fr.campus.laurainc.honeybee.MainActivity.onCreate(), fr.campus.laurainc.honeybee.NouvelleRucheActivity.onCreate(), fr.campus.laurainc.honeybee.BaseDeDonnees.readResolve(), fr.campus.laurainc.honeybee.Ruche.Ruche(), et fr.campus.laurainc.honeybee.DashboardActivity.supprimerRuche().

41  {
42  if(bdd == null)
43  bdd = new BaseDeDonnees();
44  return bdd;
45  }
BaseDeDonnees()
Constructeur par défaut de la classe BaseDeDonnees.
Definition: BaseDeDonnees.java:105
static BaseDeDonnees bdd
l'instance unique de BaseDeDonnees (Singleton)
Definition: BaseDeDonnees.java:33

◆ getInstance() [2/4]

static synchronized BaseDeDonnees fr.campus.laurainc.honeybee.BaseDeDonnees.getInstance ( Activity  activite)
static

Références fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees(), et fr.campus.laurainc.honeybee.BaseDeDonnees.bdd.

54  {
55  if(bdd == null)
56  bdd = new BaseDeDonnees(activite);
57  return bdd;
58  }
Activity activite
objet sur l'activite ayant créé l'objet BaseDeDonnees (si besoin pour UI)
Definition: BaseDeDonnees.java:28
BaseDeDonnees()
Constructeur par défaut de la classe BaseDeDonnees.
Definition: BaseDeDonnees.java:105
static BaseDeDonnees bdd
l'instance unique de BaseDeDonnees (Singleton)
Definition: BaseDeDonnees.java:33

◆ getInstance() [3/4]

static synchronized BaseDeDonnees fr.campus.laurainc.honeybee.BaseDeDonnees.getInstance ( String  url,
String  username,
String  password 
)
static

Références fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees(), et fr.campus.laurainc.honeybee.BaseDeDonnees.bdd.

69  {
70  if(bdd == null)
72  return bdd;
73  }
String url
l'URL pointant sur la base de données d'un serveur MySQL
Definition: BaseDeDonnees.java:30
String username
le nom du compte utilisateur (root par défaut)
Definition: BaseDeDonnees.java:31
String password
le mot de passe du compte utilisateur (password par défaut)
Definition: BaseDeDonnees.java:32
BaseDeDonnees()
Constructeur par défaut de la classe BaseDeDonnees.
Definition: BaseDeDonnees.java:105
static BaseDeDonnees bdd
l'instance unique de BaseDeDonnees (Singleton)
Definition: BaseDeDonnees.java:33

◆ getInstance() [4/4]

static synchronized BaseDeDonnees fr.campus.laurainc.honeybee.BaseDeDonnees.getInstance ( Activity  activite,
String  url,
String  username,
String  password 
)
static

Références fr.campus.laurainc.honeybee.BaseDeDonnees.BaseDeDonnees(), et fr.campus.laurainc.honeybee.BaseDeDonnees.bdd.

85  {
86  if(bdd == null)
88  return bdd;
89  }
String url
l'URL pointant sur la base de données d'un serveur MySQL
Definition: BaseDeDonnees.java:30
String username
le nom du compte utilisateur (root par défaut)
Definition: BaseDeDonnees.java:31
Activity activite
objet sur l'activite ayant créé l'objet BaseDeDonnees (si besoin pour UI)
Definition: BaseDeDonnees.java:28
String password
le mot de passe du compte utilisateur (password par défaut)
Definition: BaseDeDonnees.java:32
BaseDeDonnees()
Constructeur par défaut de la classe BaseDeDonnees.
Definition: BaseDeDonnees.java:105
static BaseDeDonnees bdd
l'instance unique de BaseDeDonnees (Singleton)
Definition: BaseDeDonnees.java:33

◆ readResolve()

BaseDeDonnees.readResolve ( )
Renvoie
BaseDeDonnees l'instance BaseDeDonnees

Références fr.campus.laurainc.honeybee.BaseDeDonnees.getInstance().

97  {
98  return BaseDeDonnees.getInstance();
99  }
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: baseDeDonnees.cpp:38
Definition: baseDeDonnees.h:25

◆ reconnecter()

BaseDeDonnees.reconnecter ( )
Renvoie
boolean vrai si la connexion a réussi sinon faux

Références fr.campus.laurainc.honeybee.HoneyBee.BDD, fr.campus.laurainc.honeybee.BaseDeDonnees.connecter(), et fr.campus.laurainc.honeybee.BaseDeDonnees.deconnecter().

Référencé par fr.campus.laurainc.honeybee.MainActivity.onActivityResult().

226  {
227  if(!HoneyBee.BDD)
228  return false;
229  deconnecter();
230  return connecter();
231  }
boolean deconnecter()
Déconnexion de la base de données MySQL.
Definition: BaseDeDonnees.java:238
boolean connecter()
Connexion à la base de données MySQL si pas déjà connecté
Definition: BaseDeDonnees.java:190

◆ setActivite()

BaseDeDonnees.setActivite ( Activity  activite)
Paramètres
activiteActivity l'activité appelante

Références fr.campus.laurainc.honeybee.BaseDeDonnees.activite.

181  {
182  this.activite = activite;
183  }
Activity activite
objet sur l'activite ayant créé l'objet BaseDeDonnees (si besoin pour UI)
Definition: BaseDeDonnees.java:28

◆ setParametres()

BaseDeDonnees.setParametres ( String  url,
String  username,
String  password 
)
Paramètres
urlString l'URL pointant sur la base de données d'un serveur MySQL
usernameString le nom d'utilisateur
passwordString le mot de passe de l'utilisateur

Références fr.campus.laurainc.honeybee.BaseDeDonnees.password, fr.campus.laurainc.honeybee.BaseDeDonnees.url, et fr.campus.laurainc.honeybee.BaseDeDonnees.username.

Référencé par fr.campus.laurainc.honeybee.MainActivity.onActivityResult().

167  {
168  this.url = url;
169  this.username = username;
170  this.password = password;
171  // reconnexion
172  //reconnecter();
173  }
String url
l'URL pointant sur la base de données d'un serveur MySQL
Definition: BaseDeDonnees.java:30
String username
le nom du compte utilisateur (root par défaut)
Definition: BaseDeDonnees.java:31
String password
le mot de passe du compte utilisateur (password par défaut)
Definition: BaseDeDonnees.java:32

◆ supprimerRuche()

void fr.campus.laurainc.honeybee.BaseDeDonnees.supprimerRuche ( final int  idRuche)

Références fr.campus.laurainc.honeybee.HoneyBee.BDD, et fr.campus.laurainc.honeybee.BaseDeDonnees.estConnecte().

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

433  {
434  if (!HoneyBee.BDD)
435  return;
436 
437  final String requete = "DELETE FROM Ruche WHERE idRuche='" + idRuche + "';";
438  if (estConnecte()){
439  Thread requeteBDD = new Thread(new Runnable() {
440  public void run() {
441 
442  mutex.lock();
443  try {
444  Log.d(TAG, "executerRequete -> requete : " + requete);
445  Statement statement = connexion.createStatement();
446  statement.executeUpdate(requete);
447  } catch (Exception e) {
448  e.printStackTrace();
449  Log.e(TAG, "executerRequete -> exception : " + e.toString());
450  } finally {
451  mutex.unlock();
452  }
453  }
454  });
455 
456  Log.v("BDD", "Requete OK = " + requete);
457  requeteBDD.start(); }
458  else
459  {
460  Log.w(TAG, "Pas de connexion MySQL !");
461  }
462 
463  }
boolean estConnecte()
Retourne vrai si on est connecté à la base de données MySQL.
Definition: BaseDeDonnees.java:266
static Connection connexion
objet de connexion à MySQL (null par défaut)
Definition: BaseDeDonnees.java:26
static final Lock mutex
mutex pour l'exécution concurrente de requêtes
Definition: BaseDeDonnees.java:27
static final String TAG
le TAG de la classe pour les logs
Definition: BaseDeDonnees.java:25

Documentation des données membres

◆ activite

Activity fr.campus.laurainc.honeybee.BaseDeDonnees.activite = null
private

◆ bdd

BaseDeDonnees fr.campus.laurainc.honeybee.BaseDeDonnees.bdd = null
staticprivate

◆ connexion

Connection fr.campus.laurainc.honeybee.BaseDeDonnees.connexion = null
static

◆ mutex

final Lock fr.campus.laurainc.honeybee.BaseDeDonnees.mutex = new ReentrantLock(true)
static

◆ password

String fr.campus.laurainc.honeybee.BaseDeDonnees.password
private

◆ TAG

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

◆ url

String fr.campus.laurainc.honeybee.BaseDeDonnees.url
private

◆ username

String fr.campus.laurainc.honeybee.BaseDeDonnees.username
private

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