IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Android et MySQL, demande d'aide


Sujet :

Android

  1. #1
    Candidat au Club Avatar de MrEkinox
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Android et MySQL, demande d'aide
    Bonjour,
    je travaille sur une application, cette application et entièrement basé sur des chiffres que mes clients pourront visionner.

    Je cherche depuis quelques jours comment pouvoir connecter une base de donnée externe à mon application Android.

    Il me semble que la solution la plus simple est par une base de donnée MySQL, je ne sais pas si c'est ce qu'il faut, je cherche donc ceci en premier conseil.

    Mais si c'est bien MySQL je cherche de l'aide afin d'écrire sur la base de donnée mais aussi récupérer une information de cette base depuis mon application Android.

    Si vous souhaitez plus d'information, je répondrai à tout.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    On évite le plus possible d'attaquer directement une BDD via une unité mobile. Par souci de sécurité, on préfère passer par des WebServices, des url's à appeler sur un serveur, celui-ci fait le boulot demandé et retourne des informations facilement exploitables (en plus de mettre à jour les données, ce qui évite de publier l'application à chaque fois...).

    Ton application doit-elle embarquer les données ?
    Si non, il est plus simple de mettre les données sur un serveur et de faire les affichages en fonction de ce que les WS renvoient

    Mots-clef : webservice (WS) REST, JSON
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Candidat au Club Avatar de MrEkinox
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Hizin Voir le message
    On évite le plus possible d'attaquer directement une BDD via une unité mobile. Par souci de sécurité, on préfère passer par des WebServices, des url's à appeler sur un serveur, celui-ci fait le boulot demandé et retourne des informations facilement exploitables (en plus de mettre à jour les données, ce qui évite de publier l'application à chaque fois...).

    Ton application doit-elle embarquer les données ?
    Si non, il est plus simple de mettre les données sur un serveur et de faire les affichages en fonction de ce que les WS renvoient

    Mots-clef : webservice (WS) REST, JSON
    Bonjour,
    non elle ne doivent pas être stocker sur le device juste affiché.

    Je vais faire des recherches par rapport à tes conseil, merci beaucoup

    Je cherche quelqu'un qui pourrai m'aider quand je bloque sur une fonction ou autre afin de m’enrichir dans la programmation Android, ne t'inquiète pas je ne suis pas du genre à demander des questions toutes les 30 secondes, mais voila si ça ne te dérange pas ajoute moi sur skype à "MrEkinox".

    Et encore merci.

  4. #4
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Pour la conception de Web Service je te conseille SparkJava http://sparkjava.com/
    Pour la sérialisation des données je te conseille Gson https://github.com/google/gson
    Pour la consommation de ton WebService à partir de ton application mobile je te conseille Retrofit http://square.github.io/retrofit/
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Si tout est à créer (la base , la communication, etc ...) il pourrait être judicieux de partir sur des solution comme firebase (google) ou aws mobile hub (amazon).

    Ce sont des solutions qui proposent des sdk pour interagir avec des bases de données dans le cloud (mais pas que) de manière très simple. Ca permet de se concentrer sur le code métier pur et plus sur la mise en place d'une bdd et de son webservice qui sont des taches chronophage et pas intéressante.

    Un exemple avec firebase :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    User user = new User(name, email); // création d'un utilisateur avec nom et email
    mDatabase.child("users").child(userId).setValue(user); // sauvegarde dans le cloud
    Donc en 1 ligne ca gère l'envoi des données, les éventuels échecs de connexions , etc ...

    Note : Ça implique que tes données ne sont plus hébergé sur un serveur que tu maitrise mais chez un prestataire (google,amazon ...) , certaines personnes peuvent être réticentes.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Candidat au Club Avatar de MrEkinox
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par grunk Voir le message
    Si tout est à créer (la base , la communication, etc ...) il pourrait être judicieux de partir sur des solution comme firebase (google) ou aws mobile hub (amazon).

    Ce sont des solutions qui proposent des sdk pour interagir avec des bases de données dans le cloud (mais pas que) de manière très simple. Ca permet de se concentrer sur le code métier pur et plus sur la mise en place d'une bdd et de son webservice qui sont des taches chronophage et pas intéressante.

    Un exemple avec firebase :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    User user = new User(name, email); // création d'un utilisateur avec nom et email
    mDatabase.child("users").child(userId).setValue(user); // sauvegarde dans le cloud
    Donc en 1 ligne ca gère l'envoi des données, les éventuels échecs de connexions , etc ...

    Note : Ça implique que tes données ne sont plus hébergé sur un serveur que tu maitrise mais chez un prestataire (google,amazon ...) , certaines personnes peuvent être réticentes.
    Ta solution m'intéresse, je ne souhaite pas faire d'erreur, surtout dans mon achat sur le service de google.

    Puis-je être conseillé par skype ? mon pseudo (MrEkinox)

    Merci pour vos conseils.

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Puis-je être conseillé par skype ? mon pseudo (MrEkinox)
    pas par moi non

    Le premier palier d'utilisation de firebase est complètement gratuit (base de 1Go, 10Go de transfert réseau et 100 connexions simultanées) et permet même de travailler avec un petit nombre d'utilisateur.
    Voir : https://firebase.google.com/pricing/

    Tu peux donc lancer un projet de test juste pour le fun sans risque , il suffit d'avoir un compte google.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre habitué Avatar de awesomeman
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 166
    Points : 136
    Points
    136
    Par défaut
    et SQLite ..?

  9. #9
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Si on part sur du webservice, SQLite, MySQL, PostGre ou autre... ça n'a pas réellement d'importance du point de vue de l'application vu qu'elle n'accèdera jamais à cette BDD directement.

    Sinon, peux-tu étoffer ton propos s'il te plaît, que l'on comprenne mieux ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  10. #10
    Membre habitué Avatar de awesomeman
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 166
    Points : 136
    Points
    136
    Par défaut
    Citation Envoyé par Hizin Voir le message
    vu qu'elle n'accèdera jamais à cette BDD directement.
    comment ca ?? il y a forcément un moment ou tu vas accéder à ta BDD sinon elle n'a aucune raison d'exister ..
    Citation Envoyé par Hizin Voir le message
    Sinon, peux-tu étoffer ton propos s'il te plaît, que l'on comprenne mieux ?
    je n'ai vu personne proposer SQLite comme solution et je sais (je pense ?) que sqlite est un moyen pas mal utilisé sur mobile .

    D'ailleurs j'ai une petite question sur sqlite : http://http://www.developpez.net/forums/d1601266/java/general-java/java-mobiles/android/refresh-base-donnee-sqlite/

  11. #11
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Citation Envoyé par awesomeman
    Citation Envoyé par Hizin
    vu qu'elle n'accèdera jamais à cette BDD directement.
    comment ca ?? il y a forcément un moment ou tu vas accéder à ta BDD sinon elle n'a aucune raison d'exister ..
    Tu as tronqué une part importante en me citant. La partie sur les webservices est vitale
    L'application va réaliser des appels réseaux vers un serveur qui servira de façade pour les appels en base. L'application ne fera donc jamais appel à la BDD directement, mais toujours indirectement pour des raisons de sécurité (on ne laisse pas une BDD ouverte sur le vaste monde). Partant de là, quelle que soit la BDD utilisée derrière, l'application s'en fiche puisqu'elle se trouve sur un serveur, et que seul ce serveur communique avec la BDD (l'application communiquant avec la BDD uniquement via le serveur).

    Citation Envoyé par awesomeman
    je n'ai vu personne proposer SQLite comme solution et je sais (je pense ?) que sqlite est un moyen pas mal utilisé sur mobile .
    C'est la BDD embarquée sur Android et iOS, c'est donc bien la principale solution dans le cas d'une BDD embarquée, oui
    Dans ce sujet, nous ne parlons vraiment d'une BDD embarquée, mais d'une déportée. C'est pour cette raison que nous parlons d'utilisation de service comme firebase par exemple.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  12. #12
    Membre habitué Avatar de awesomeman
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 166
    Points : 136
    Points
    136
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Tu as tronqué une part importante en me citant. La partie sur les webservices est vitale
    L'application va réaliser des appels réseaux vers un serveur qui servira de façade pour les appels en base. L'application ne fera donc jamais appel à la BDD directement, mais toujours indirectement pour des raisons de sécurité (on ne laisse pas une BDD ouverte sur le vaste monde). Partant de là, quelle que soit la BDD utilisée derrière, l'application s'en fiche puisqu'elle se trouve sur un serveur, et que seul ce serveur communique avec la BDD (l'application communiquant avec la BDD uniquement via le serveur).
    Ah ok mais sqlite est différent au niveau de ca vu qu'il ne suit pas le modèle client-serveur, nan ? Le principe dont tu parle reste le meme ?

  13. #13
    Candidat au Club Avatar de MrEkinox
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par grunk Voir le message
    Si tout est à créer (la base , la communication, etc ...) il pourrait être judicieux de partir sur des solution comme firebase (google) ou aws mobile hub (amazon).

    Ce sont des solutions qui proposent des sdk pour interagir avec des bases de données dans le cloud (mais pas que) de manière très simple. Ca permet de se concentrer sur le code métier pur et plus sur la mise en place d'une bdd et de son webservice qui sont des taches chronophage et pas intéressante.

    Un exemple avec firebase :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    User user = new User(name, email); // création d'un utilisateur avec nom et email
    mDatabase.child("users").child(userId).setValue(user); // sauvegarde dans le cloud
    Donc en 1 ligne ca gère l'envoi des données, les éventuels échecs de connexions , etc ...

    Note : Ça implique que tes données ne sont plus hébergé sur un serveur que tu maitrise mais chez un prestataire (google,amazon ...) , certaines personnes peuvent être réticentes.
    Merci beaucoup, tu m'a fais découvrir un outil super.

    Les firebases sont super et rapide.

    Mais je n'arrive pas à prendre un child random.

    Je m'explique, dans ma database, j'enregistre tout les users.
    Et le but de l’application est d'avoir un user random.
    Je cherche donc à pick un child de users random.

    Nom : kkaQNzk.png
Affichages : 144
Taille : 39,1 Ko

    Si tu as la solution, merci d'avance.

  14. #14
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    J'ai très peu utilisé la bdd de firebase , donc je ne serais peut être pas de très bon conseil. A priori il n'ya pas de fonction random.
    Par contre tu dois pouvoir compter le nombre de child d'un noeud. A partir de là, tu fais un rand coté java entre 0 et ton nombre max de child puis tu itères sur tes childs jusqu'à arriver au nombre généré par ton rand.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/10/2007, 14h23
  2. Demande d'aide sur la liaison avec base de données mysql
    Par almora007 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/08/2007, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo