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 entre une Base de données et Application sur Android


Sujet :

API standards et tierces Android

  1. #1
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut connexion entre une Base de données et Application sur Android
    Bonjour,

    Je suis débutant en JAVA ME et je vais développer une simple application qui manipule une Base de données en Local (MySQL 5).

    Donc Est ce que la méthode de connexion sera la même que dans le cas de JAVA SE (JDBC par exemple) ou on aura besoin des autres api ?
    Et merci d'avance.

  2. #2
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Je pense pas que tu puisses utiliser une bdd Mysql en local sur Android.
    En revanche tu en as une toute prête en SQLite qui fonctionne très bien.

    Pour accéder à cette dernière, pas besoin de JDBC, il te faut juste une classe héritant de SQLiteConnector il me semble.
    Ingénieur Développement Mobile (Android / Windows Phone / Blackberry10)

  3. #3
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    la BDD Mysql est installée sur ma machine XP et non pas sur le même Téléphone Android(dans ce cas j'utilise le plugin d'éclipse pour exécuter ma application).

    car dans un cas réel l'application va connecter sur une BDD installée dans un serveur séparé du téléphone.

  4. #4
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Je suis pas sur mais il me semble que ce n'est pas possible (ou en tout cas qu'en 1.5 ce n'est pas possible), mais je peux me tromper.
    Peut être avec l'arrivée de 1.6 ou de 2.0 cela est-il possible.
    Ingénieur Développement Mobile (Android / Windows Phone / Blackberry10)

  5. #5
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut Javax.sql
    Puisque la configuration CLDC ne supporte pas JDBC on a fallu travailler avec package javax.sql qui est supporté par ANDROID SDK mais j'ai pas pu connaitre comment créer une connexion à une BD avec ce package

  6. #6
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Voici la classe que j'utilise dans toutes mes applis :

    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
     
    class SQLiteConnector extends SQLiteOpenHelper 
    {
    	public SQLiteConnector(Context context, String databaseName, int databaseVersion)
    	{
    		super(context, databaseName, null, databaseVersion);
    	}
     
    	public void onCreate(SQLiteDatabase db) 
    	{
    		db.execSQL("CREATE TABLE nom_de_la_table (paramettres_de_la_table)");
    	}
     
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    	{
     
    	}
    }
    Et je l'utilise comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    connector = new SQLiteConnector(...);
    stream = connector.getWritableDatabase();
    Ensuite tu peux utiliser de manière très intuitive toutes les fonctions des base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Cursor c = stream.query(...);
    stream.execSQL(...);
    stream.insert(...);
    stream.insertOrThrow(...);
    stream.delete(...);
    Ingénieur Développement Mobile (Android / Windows Phone / Blackberry10)

  7. #7
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    Je pense que cette classe permet la connexion à une BD Sqlite seulement et non à MySQL.

  8. #8
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Oui, en effet elle ne permet que la connexion en local sur la bd SQLite.
    Ingénieur Développement Mobile (Android / Windows Phone / Blackberry10)

  9. #9
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    bon il est peut être inutile de connecter l'application directement à la BD mais elle va connecter à un serveur d'application qui va diriger les requêtes vers la BD MySQL.

    est ce que vous êtes d'accord avec moi qu'on doit dans ce cas créer une application web 3-tiers?

    Et merci d'avance

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah de toute façon il n'y a que comme ça que tu pourras le faire.

    Et de toute façon accéder directement à un SGBD depuis l'extérieur est une énorme insanité niveau sécurité en soit. De plus il aurait fallu gérer un grand nombre de logins, d'autorisations & cie au niveau de la base de données.

    Par contre Android doit avoir moyen de se connecter à des Web Services. Donc il suffit de définir ces WS au niveau du serveur d'appli auquel Android se connecte et roule ma poule .

    cf http://android.amberfog.com/?p=45
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  11. #11
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par clubist Voir le message
    Bonjour,

    Je suis débutant en JAVA ME et je vais développer une simple application qui manipule une Base de données en Local (MySQL 5).

    Donc Est ce que la méthode de connexion sera la même que dans le cas de JAVA SE (JDBC par exemple) ou on aura besoin des autres api ?
    Et merci d'avance.

    Je ne sais pas si tu t'es trompé par Java ME ou Android car nous somme sur le forum android et je voie la question sur java me

    Dans tous les cas oui tu peux pas manipuler une basse de donnée depuis java me. Java me ne supporte pas cet api, par ailleurs tu peux faire une servlet comme interface entre base de donné et ton application midlet

  12. #12
    Membre averti Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Points : 301
    Points
    301
    Par défaut
    ah oui je sais qu'il fallait créer une servlet comme interface mais est ce que c'est possible avec Activity car je m'intéresse à une application Android ?

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Salut a tous!

    Hum c'est bizarre mais dans le reference guide d'android java.sql est bien présent! Ça veut dire qu'il est supporté non?

    http://developer.android.com/referen...e-summary.html

    Mais si on ne peut pas passer par JDBC comment fait on pour récupérer les données renvoyés par le serveur? Obligé d'utiliser un webService?

    Merci!

    Edit: Apparement c'est vraiment pas possible de communiquer directement avec la base de donnée. Une autre solution serait d'utiliser un script coté serveur qui générait un fichier XML.

    http://www.pointgphone.com/forum/post11785#p11785

    Si vous avez d'autres informations je suis preneur!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion d'une base de données MySQL avec une application Android
    Par eloumghari.imane dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/01/2014, 10h53
  2. Réponses: 3
    Dernier message: 21/04/2012, 13h42
  3. connexion entre la base de donnée sqlite et eclipse-java avec une plateforme android
    Par amira_chouk dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 20/04/2010, 20h07
  4. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 21h57
  5. connexion a une base de donnée distante mysql(site internet)
    Par rollernox dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/07/2004, 14h14

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