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.
bonjour le code ne fonctionne pas sur la partie mainactivity.javacordialement
RépondreSupprimerEssayes de voir ce qui a été affiché dans le logcat pour connaitre le type d'erreur
Supprimeravez vous un zip du projet afin de recuperer le code du maain activity ? merci
RépondreSupprimerBonjour, 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 :
RépondreSupprimerError:(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
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épondreSupprimerChaque 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.
SupprimerBonjour 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.
RépondreSupprimerMerci de m'aider
Bonjour, essayes d'afficher le logcat pour voir l'erreur se situe dans quelle instruction et pour comprendre la raison du crash
Supprimer