Android et les bases de données externes : tutoriel Android pour insertion de données dans une base Mysql via php et json

Dans ce tutoriel on va apprendre à ajouter des données dans une base Mysql à travers une application android. Tout d'abord nous devons avoir un logiciel qui contient un serveur web apache et un SGBD mysql. Parmi ces applications on trouve WAMP ou EasyPHP. Ou vous pouvez tout simplement utiliser un serveur distant.
Dans les vidéos suivantes vous allez trouver une explication très détaillée pour effectuer ce travail, sinon si vous ne voulez pas suivre les vidéos vous pouvez suivre le code qui existe dans le tutoriel en dessous des vidéos. Sachant que les deux (tutoriel et vidéos) sont complémentaires  : 




Le tutoriel suivant vous permet d'apprendre à afficher les données de la base dans une ListView : 

Dans ce tutoriel on va apprendre à créer une activité qui permet d'ajouter un utilisateur. La première étape consiste à créer sa base de données. On suppose que notre base de données s'appelle usermanager.
Cette base va contenir une table   qui s'appelle user : 

--
-- Structure de la table `user`
--

CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `name` varchar(30) NOT NULL,
  `age` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Par la suite nous devons créer un web service de type REST . Ce web service se fait à base de php et sera héberger dans un serveur web apache. Le résultat de ce web service  doit être sous format json.

Tout d'abord nous devons créer un fichier php qui permet de se connecter au serveur de la base de données et pour sélectionner la base qui contient notre table. Ce fichier sera par la suite invoqué par notre web service par la suite.

Ce fichier s'appelle db_connect.php

Il reste maintenant de développer notre web service,on l'appelle add.php

On va passer maintanant pour développer notre application android. Tout d'abord il faut ajouter la permision internet dans notre fichier manifest.xml.
<uses-permission android:name="android.permission.INTERNET" />


Vient maintenant le temps pour créer notre interface graphique. Lorsque vous créer un nouveau projet avec android studio et que vous choisissez Empty Activity avant de passerau build de votre projet ce dernier va contenir une activité vide. Dans l'interface de cette activité qui s'appelle activity_main.xml mettez ce code : On passe maintenant à la partie java. Tout d'abord nous devons créer une classe dans laquelle nous créons une méthode permettant de communiquer avec notre web service.On l'appelle JSONParser.java Finalement, il reste à créer notre activité qui permet d’insérer des données dans la base. On l'appelle MainActivity.java On suppose qu'après le click sur le boutton ajouter une nouvelle activité va s'afficher et qui s'appelle ListUser.java.

Commentaires

  1. bonjour le code ne fonctionne pas sur la partie mainactivity.javacordialement

    RépondreSupprimer
    Réponses
    1. Essayes de voir ce qui a été affiché dans le logcat pour connaitre le type d'erreur

      Supprimer
  2. avez vous un zip du projet afin de recuperer le code du maain activity ? merci

    RépondreSupprimer
  3. Bonjour, j'ai suivi ce tuto et j'ai un problème au moment du build car il m'affiche 26erreurs et pourtant j'ai exactement le même java que vous , voici les erreurs :
    Error:(82, 56) error: illegal start of type
    Error:(82, 50) error: > expected
    Error:(82, 57) error: expected
    Error:(82, 59) error: ';' expected
    Error:(89, 36) error: ';' expected
    Error:(100, 5) error: illegal start of expression
    Error:(100, 36) error: ';' expected
    Error:(100, 37) error: not a statement
    Error:(100, 43) error: ';' expected
    Error:(100, 47) error: not a statement
    Error:(100, 51) error: ';' expected
    Error:(107, 64) error: ')' expected
    Error:(107, 70) error: illegal start of expression
    Error:(107, 78) error: ';' expected
    Error:(140, 5) error: illegal start of expression
    Error:(140, 15) error: illegal start of expression
    Error:(140, 33) error: ';' expected
    Error:(140, 49) error: ';' expected
    Error:(154, 2) error: expected
    Error:(154, 16) error: expected
    Error:(154, 18) error: expected
    Error:(154, 32) error: expected
    Error:(154, 34) error: expected
    Error:(154, 41) error: expected
    Error:(154, 42) error: reached end of file while parsing
    Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.

    si vous avez une piste pour m'aider celà m'interesse, merci beaucoup

    RépondreSupprimer
  4. En cas de plusieurs tables dans la base de données on crée un fichier ajout.php pour chaque table ou on implémente l’insertion des données de tout les table dans le même fichier ajout.php

    RépondreSupprimer
    Réponses
    1. Chaque table doit avoir ses propres web services. On ne peut pas mettre tout les ajouts dans un seul fichier. Il faut donner différent noms à ces fichiers en plus. ajout_produit.php pour la table produit, ajout_article.php pour la table article etc. et c'est de même pour les autres opérations de mise à jour, de suppression et de sélection.

      Supprimer
  5. Bonjour merci pour ce tuto au fait j'ai suivi du début à la fin mais lorsque je clique dur le bouton ajouter j'ai comme réponse : insertion a cessé info sur l'application et fermer l'application.
    Merci de m'aider

    RépondreSupprimer
    Réponses
    1. Bonjour, essayes d'afficher le logcat pour voir l'erreur se situe dans quelle instruction et pour comprendre la raison du crash

      Supprimer

Enregistrer un commentaire

Your comment will be reviewed by moderators

Posts les plus consultés de ce blog

Ionic 2 : Envoie d'une image vers un serveur web à l'aide de PHP et Angular 2

Premier tutoriel avec Arduino et Proteus ISIS

Login et password ,formulaire d'authentification sous android avec mysql et json