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

API standards et tierces Android Discussion :

Connexion base de données depuis Android


Sujet :

API standards et tierces Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut Connexion base de données depuis Android
    Bonjour,

    Je tente de me connecter à une base de données qui est en local sur mon ordinateur depuis mon application android que je lance à l'aide de l'émulateur android fourni par le kit de développement.

    Mais je ne réussis pas à me connecter à ma base.

    Pour faire l'essai, j'ai créé une activité toute simple avec un bouton, et lors du clic sur le bouton, une tentative de connexion à la base de données. Ci-dessous ce que j'ai dans mon onClick :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    try {
       Class.forName("org.postgresql.Driver").newInstance();
       laChaine1 = "OK pour le 1";
    } 
     
    catch (Exception e) {
       // TODO Auto-generated catch block
       laChaine1 = "Erreur sur le 1";
    }
     
    String url = "jdbc:postgresql:http://10.0.2.2:5432/MaBase";
    String user = "postgres";
    String passwd = "mdp";
    try {
       Connection conn = DriverManager.getConnection(url, user, passwd);
       laChaine2 = "Connection OK";
    }
    catch (Exception e) {
       StringWriter sw = new StringWriter();
       PrintWriter pw = new PrintWriter(sw);
       e.printStackTrace(pw);
       laChaine2 = pw.toString();
    }
    ((TextView)findViewById(R.id.monLabel1)).setText(laChaine1);
    ((TextView)findViewById(R.id.monLabel2)).setText(laChaine2);
    Pour info, j'ai mis ici l'IP 10.0.2.2 car j'ai vu que c'était ce que l'on faisait à la place de localhost afin de ne pas tomber sur le localhost de l'émulateur (mais cela ne fonctionnait pas mieux en mettant directement "localhost" à la place).

    Lorsque je clique sur le bouton, dans mon application, j'obtiens le message qui est dans l'image en pièce jointe (java.io.PrintWriter@44f96d50).

    Pour info également, en faisant la même connexion à ma base de données depuis le main d'un projet java (non android) la connexion s'effectue correctement.

    Merci d'avance pour l'aide que vous pourrez m'apporter sur ce problème!
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Par défaut
    Désolé pour le petit HS :
    Je me pose une question quand même, vu que le code source d' une application Android est facilement visible, c' est une bonne idée de faire des connexions à des BDD comme ça ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    êtes vous sûr que le port de l'émulateur correspond au port 5432?

    l'url ne devrait pas être plutot? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jdbc:postgresql://10.0.2.2:5432/MaBase

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    Citation Envoyé par jojo_ol76 Voir le message
    êtes vous sûr que le port de l'émulateur correspond au port 5432?

    l'url ne devrait pas être plutot? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jdbc:postgresql://10.0.2.2:5432/MaBase
    Bonsoir jojo_ol76,

    Et merci pour votre réponse.

    Concernant l'url de connexion, j'avais en effet essayé également avec l'url :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:postgresql://10.0.2.2:5432/MaBase
    ... Mais pas mieux.

    Pour le port je ne sais pas qu'entendez-vous par le port de l'émulateur? Le port que je spécifie ici (5432) est celui de ma base de données, sur mon localhost (localhost de mon ordinateur). C'est bien celui-ci que je devrais attaquer depuis l'émulateur non?

    Merci à nouveau pour vos retours.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    Bonjour,

    Sake_reflex, juste pour rebondir sur ce que tu disais : de ton côté quelle méthode utiliserais tu pour te connecter à une BDD en sql (externe) sans utiliser une méthode similaire, qui risquerait de laisser (trop) facilement voir le code qui appelle la BDD?

    Merci d'avance!

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Par défaut
    Salut dev50,
    Personnellement je n'ai jamais eu à manipuler une BDD externe et justement je posais cette question pour connaitre les alternatives.
    Mais si je devais en faire une je passerais surement par des web services, je pense que c'est bonne solution.

Discussions similaires

  1. Réponses: 11
    Dernier message: 17/06/2015, 09h32
  2. besoin d'aide : connexion base de données android
    Par messiilyes dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 14/03/2012, 14h44
  3. Connexion base de données depuis Android
    Par aladin2110 dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 07/03/2012, 03h28
  4. Problème de connexion à la base de données depuis Forms
    Par souuumia dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 13/05/2008, 15h56
  5. Réponses: 9
    Dernier message: 20/01/2006, 12h04

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