MySQL sous Android: fonctionnement, avantages et inconvénients

MySQL est probablement l’une des bases de données la plus utilisée en informatique. Que l’on soit développeur en herbe ou confirmé, on a tous déjà travaillé au moins une fois avec ce système de gestion de base de données. Les géants du monde d’internet tels que Google l’utilisent pour certains sites, applications ou en embarquant directement MySQL au sein de leur solution.

Android & MySQL

Une application Android et une base de données MySQL ne peuvent pas communiquer directement ensemble (c’est un peu comme demander à un Chinois de discuter avec un Polonais), il faut donc implémenter un processus (un peu fastidieux!) qui va faire la connexion entre les deux : le langage PHP.

Visuellement, le processus de communication entre l’application et la base de données :

android_php_mysql

Tous les appels entre l’application et la base de données passeront donc par un webservice en PHP qui se chargera de réceptionner la requête, la transmettre au SGBD et renvoyer une réponse à l’application au format JSON. Le message JSON créé peut ressembler à ça :

{
“successful” : 1,
“response” : “Bravo, l’utilisateur a été ajouté!”
}

Il contient le statut de l’exécution de la requête ainsi qu’un court message qui peut être parsé et affiché à l’écran pour informer l’utilisateur.

Les avantages de MySQL

  • Disponible et abordable pour tous
  • Facile d’utilisation
  • Rapide, sûr et fiable
  • API
  • Open source
  • Portable

MySQL apporte beaucoup de libertés opérationnelles avec des fonctionnalités avancées. Les fonctions de sécurité de MySQL offrent également une protection fiable pour les accès aux données de manière simple.

Les inconvénients de MySQL

  • Limitations fonctionnelles
  • Processus de développement douteux

Selon le choix du moteur de la base de données, MySQL peut être allégé de certaines fonctionnalités (il faut s’assurer que les fonctionnalités primordiales à notre besoin soient incluses). Attention également aux accès concurrents qui peuvent poser quelques problèmes.

Notre expérience sur cet outil

L’utilisation de MySQL dans notre application n’a pas été nécessaire donc nous ne l’avons pas utilisé. Pour la même raison que SQLite, les données que nous utilisons sont directement stockées dans les bases de données de Twitter. Cependant nous l’avons utilisé de nombreuses fois pour des projets étudiants et en entreprise. MySQL est une référence dans les systèmes de gestion de base de données.

Comment connecter une application C# à une base de données Oracle

Lorsque vous créer une application C# (C Sharp), vous serez surement amené à communiquer avec une base de données. Dans ce tutoriel, je vais vous donner le code source pour effectuer une connexion simple à une base de données Oracle.

J’utilise les programmes suivants :

 Ajout de référence(s)

Etape 1 : Ajouter la référence Oracle

Pour commencer, il faut ajouter la référence du client Oracle à votre projet. Pour ça, sur votre droite, vous devriez avoir l’explorateur de solutions (voir screenshot ci-dessous). Si ce menu n’apparaît pas, allez dans “Affichage” puis “Explorateur de solutions” ou faites un CTRL+W,S.

oracle_explor

Faites un clique-droit sur “Références”, “Ajouter une référence…”

oracle_references

Cochez “System.Data.OracleClient” et validez par OK

 Ajout du code source dans votre projet

Etape 2 : Le bout de code de connexion

Vous n’aurez plus qu’à insérer les deux méthodes ci-dessous dans une classe de votre projet. Vous pourrez appeler ces méthodes lors d’un clic sur un bouton ou à l’initialisation d’une fenêtre.

        public void connexionOracle()
        {

			string oradb = "Data Source=NOMDELABASE;User Id=IDENTIFIANT;Password=MOTDEPASSE;";
			OracleConnection conn = new OracleConnection(oradb);

			// Ouverture de la connexion
            conn.Open();

			// Avec ce IF je test l'état de la connexion et j'affiche si CONNECTE ou NON CONNECTE
            if (conn.State.ToString() == "Open")
            {
                labelStatutConnOracle.Text = "Connecté";
            }
            else
            {
                labelStatutConnOracle.Text = "Non Connecté";
            }
        }

        public void deconnexionOracle()
        {
            conn.Dispose();
        }

N’oubliez pas de remplacer les valeurs dans la chaine oradb à la ligne 4 en mettant la nom de votre base de données Oracle, votre identifiant et votre mot de passe (le même que vous utilisez pour réaliser une connexion avec SQL Developer par exemple).

Le label “labelStatutConnOracle” me permet de visualiser dans la fenêtre, l’état de ma connexion à ma base de données (“Connecté” ou “Non connecté”)

Maintenant que votre connexion est active, vous pouvez balancer vos requêtes selon vos besoins!