MySQL avec android

stainz42 -  
 Lycaste -
Bonjour,
Je développe actuellement une application sous android, et je dois faire des requêtes sur une base de donnée.
Auriez-vous un tuyau à me passer s'il vous plait ?
La page d'accueil de l'appli est un formulaire a remplir et on appuye sur connect. Et la elle est sensée se connecter a une BDD et rapporter les informations demandées.

5 réponses

  1. nostrooo
     
    Hum, j'imagine qu'il est un peu tard pour répondre à ton problème, mais voici quelques pistes, en espérant que cela puisse t'aider ou aider d'autres programmeurs ayant le même problème :

    1) modifier AndroidManifest.xml pour autoriser l'application à accéder à Internet. Le champs xml à ajouter est le suivant : <uses-permission android:name="android.permission.INTERNET" />

    2) pour le reste, il suffit de coder comme tout programme Java. Voici un petit exemple de code :

    2.1) Code pour créer une connexion à MySql (pré-requis : installer les driver JDBC pour MySql, la manière de faire dépend de ton IDE, sinon ajouter un -jar vers le driver si tu programme "à la main" sans l'aide d'un IDE si je ne me trompe pas) :

    Class.forName("com.mysql.jdbc.Driver");
    Properties props = new Properties();
    props.put("user", ""); props.put("password", ""); props.put("charSet", "UTF-8");
    java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/" + nomBase, props);

    Evidement, il faudra mettre les bonnes valeurs pour "user", "password" ainsi que pour l'adresse IP. Et éventuelleemnt le charset !

    2.2) Code pour exécuter une requete SELECT :

    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM Table");
    while (rs.next()){ //on parcourt chaque ligne de notre résultat
    int no = rs.getInt("champNo");
    String libelle = rs.getString("Libelle");
    //...
    }
    stmt.close();

    2.2bis) Code pour exécuter une requete sans résultat (genre INSERT, DELETE, CREATE...) :

    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeUpdate("DELETE FROM Table WHERE champNo = 1");
    stmt.close();

    ATTENTION, il faut également gérer les exceptions suivante (pour les points 2.1, 2.2 et 2.2bis):
    - ClassNotFoundException : Erreur de driver mySQL (il ne le trouve pas)
    - SQLException : Erreur dans l'accès au SGBD ou dans l'exécution de la requête

    Avec ça, il ne devrait plus y avoir de problème !

    Bon courage!
    3
    1. Lycaste
       
      Merci c'est exactement ce que je cherchais.
      Tous les exemplent utilisent php et un accès http.
      0
  2. stainz42
     
    Je up le sujet, j'ai besoin de l'algorithme svp !
    1
  3. stainz42
     
    Merci d'avoir répondu, mais je souhaite me connecter à une base de donnée située sur un serveur, or SQLite semble être une base de donnée locale.
    1
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question