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

Windev Mobile Discussion :

Plantage Test Application sur tablette avec Base MySQL [WM17]


Sujet :

Windev Mobile

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 35
    Points
    35
    Par défaut Plantage Test Application sur tablette avec Base MySQL
    Bonjour à toutes et à tous.
    Etant débutant avec WM, je sollicite votre aide car je craque un peu.
    J'ai créé une appli ANDROID dans WM17 qui se base sur un webservice qui se connecte à une base de données MySQL externe sur serveur.

    En testant l'appli sur le poste de dev, aucun soucis.
    Par contre en voulant tester l'appli sur ma tablette j'ai un message d'erreur qui me dit : Seules les connexions de type SQLite sont autorisées sous Android.
    Ok d'accord !
    Après des recherches sur différents post , j'ai rajouté ceci dans mon appli dans la partie initialisation de mon projet :

    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
     
    ConnexionAndroid est une Connexion
     
    // Décrit la connexion utilisée
     
    SI HDécritConnexion(“ConnexionAndroid”,"","","TestBase.db","",hAccèsSQLiteAndroid,hOLectureEcriture) = Faux ALORS
    	Erreur("HDécritConnexion, Impossible de décrire la connexion", HErreurInfo(hErrMessage))
    FIN
     
    // Ouvrir la nouvelle connexion	
    SI HOuvreConnexion(ConnexionAndroid) = Faux ALORS
    	Erreur("HOuvreConnexion, Impossible d'ouvrir la nouvelle connexion", HErreurInfo(hErrMessage))
    FIN
     
    // Change la connexion des fichiers de l’application
    SI HChangeConnexion("*", ConnexionAndroid) = Faux ALORS
    	Erreur("HChangeConnexion", HErreurInfo(hErrMessage))
    FIN
     
    // Initialise les table en mémoire
    SI HRAZ(T_TypServ_Etablis) = Faux ALORS
    	Erreur("HRAZ, Initialisation impossible", HErreurInfo(hErrMessage))
    FIN
    en testant l'appli sur le poste de dev , j'ai le message :
    "HRAZ, Initialisation impossible, Erreur de l'accès natif SQLite.
    Impossible d'ouvrir ou de lire le fichier T_typeServ_Etablis".

    Etant débutant, je pensais que l'utilisation d'un Webservice connectant une base MySql externe permettait diectement l'utilisation de l'appli APK mais je pense que je me plante ...

    Merci de votre aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 089
    Points
    1 089
    Par défaut
    Citation Envoyé par tveniere Voir le message
    Bonjour à toutes et à tous.
    Etant débutant avec WM, je sollicite votre aide car je craque un peu.
    J'ai créé une appli ANDROID dans WM17 qui se base sur un webservice qui se connecte à une base de données MySQL externe sur serveur.

    En testant l'appli sur le poste de dev, aucun soucis.
    Par contre en voulant tester l'appli sur ma tablette j'ai un message d'erreur qui me dit : Seules les connexions de type SQLite sont autorisées sous Android.
    Ok d'accord !
    Après des recherches sur différents post , j'ai rajouté ceci dans mon appli dans la partie initialisation de mon projet :

    en testant l'appli sur le poste de dev , j'ai le message :
    "HRAZ, Initialisation impossible, Erreur de l'accès natif SQLite.
    Impossible d'ouvrir ou de lire le fichier T_typeServ_Etablis".

    Etant débutant, je pensais que l'utilisation d'un Webservice connectant une base MySql externe permettait diectement l'utilisation de l'appli APK mais je pense que je me plante ...

    Merci de votre aide
    Bonjour

    Tu es sur la bonne piste, mais il y a quelques trucs à comprendre .... En fait, tu a été confronté à deux soucis qui ont la même origine :
    - la première fois, avant que tu ne rajoutes le code de redéfinition de la connexion, lors du lancement de l'application, WM tente d'ouvrir les connexions par défaut de l'analyse, et donc comme il ne gère pas les bases MySQL en Android, cela se plante ....
    - la deuxième fois, tu as bien défini la connexion, mais comme tu n'as pas de base SqLite créée sur ton smartphone, cela se plante aussi.

    En fait, dans ce projet WM, comme tu passes par un webservice pour discuter avec ta base, tu n'as pas besoin d'analyse ! sauf peut-être comme pense-bête, ou avoir WD/WB ouvert à côté pour se rappeler les champs de tes fichiers.

    Ce ws (webservice) te permet j'imagine d'écrire et de lire des données, mais sans faire de référence explicite aux champs du fichier.

    Conclusion : supprime l'analyse dans le projet WM !

  3. #3
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Citation Envoyé par tveniere Voir le message
    Etant débutant avec WM, je sollicite votre aide car je craque un peu.
    J'ai créé une appli ANDROID dans WM17 qui se base sur un webservice qui se connecte à une base de données MySQL externe sur serveur.

    En testant l'appli sur le poste de dev, aucun soucis.
    Par contre en voulant tester l'appli sur ma tablette j'ai un message d'erreur qui me dit : Seules les connexions de type SQLite sont autorisées sous Android.
    Ok d'accord !
    Après des recherches sur différents post , j'ai rajouté ceci dans mon appli dans la partie initialisation de mon projet :

    en testant l'appli sur le poste de dev , j'ai le message :
    "HRAZ, Initialisation impossible, Erreur de l'accès natif SQLite.
    Impossible d'ouvrir ou de lire le fichier T_typeServ_Etablis".

    Etant débutant, je pensais que l'utilisation d'un Webservice connectant une base MySql externe permettait diectement l'utilisation de l'appli APK mais je pense que je me plante ...
    Dans ton appli tu n'as pas à avoir de connexion à la base MySQL, ce sont les services sur le serveur qui se connectent...

    Si tu veux pouvoir conserver des données sur le mobile (pour pouvoir les consulter en mode déconnecté par exemple) il te faut installer une base SqLite sur ta tablette. Et ton appli devra se connecter à cette base...

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Merci beaucoup Courdi95 et Laurent30s pour vos éclaircissements.
    Donc j'ai bien compris qu'il faut créer une base SQlite afin que mon appli android fonctionne.

    Dans ma demande d'aide, je pense que je n'ai pas tout dit (et je m'en excuse) :

    J'ai créé un site avec Webdev 17 qui est un site Back-office qui est basé sur une base de données MySQL.

    Mon appli Android est le front office. Donc ce que j'aimerais c'est de récupérer mes données de ma base MySQL (qui sont mises à jour tous les jours) sur mon appli Android et donc dans ma base SQLite

    Quelle sont les manipulations à faire afin que lors de l'ouverture de l'appli android les données soient automatiquement intégrées dans ma base SQLite?

    Merci encore pour votre aide !!!

  5. #5
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Regardes du côté des webservices, c'est très facile à faire...
    Je te redonne le lien sur le petit topo que j'ai fais sur le sujet
    http://www.developpez.net/forums/d13...e/#post7456593

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Merci bcp Laurent30s pour tes eclaircissements. J'ai avancé en créant un base SQLite pour mon appli mobile.

    J'ai aussi créer un Webservice qui récupère mes données MySQL afin de les envoyer à ma bas SQLite mais là je pèche vraiment en terme de développement.

    Y a t-il une procédure globale simple afin d'envoyer le contenu d'un fichier vers mon appli mobile ?

    Du coté Client ! Quelle le code pour la récupération.

    j'ai chercher dans les tutos , exemples et explications. Mais je bug toujours autant

    Merci de votre aide

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Bonjour Laurent30s,

    Bon j'avance lentement mais surement.

    j'ai créé un Webservice de test avec une procédure (Rech_Etablis) qui lit un fichier Etablissement par rapport à un code Etablissement et un Mot de passe Etablissement :
    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
    PROCEDURE Rech_Etablis(CodEtablis,MdpEtablis)
     
    LibelEtablis est une chaîne
     
    // HExécuteRequête(Req_Etablis, hRequêteDéfaut, CodEtablis)
    HOuvre(T_Etablis)
    HLitRecherchePremier("T_Etablis", "Id_Etablis", CodEtablis)
     
    SI HTrouve()ALORS
    	// Initialiser les membres de la classe
     
    		SI MdpEtablis = T_Etablis.Mdp_Etablis ALORS
     
    			LibelEtablis = T_Etablis.Nom_Etablis
     
    			RENVOYER LibelEtablis
    		SINON
    			LibelEtablis = ""
    			Info("Mot de Passe inconnu")
    			RENVOYER(LibelEtablis)
    		FIN
    SINON
    	LibelEtablis = ""
    	Info("Identifiant inconnu")
    	RENVOYER(LibelEtablis)
    FIN
    si je teste mon Webservice pas de Soucis :
    <SOAP-ENV:Envelope xmlnssd="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <ns1:Rech_EtablisResponse xmlns:ns1="urn:Test_WebService">
    <Rech_EtablisResult>Hotel Tests</Rech_EtablisResult>
    </ns1:Rech_EtablisResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    La procédure me renvoie bien le nom de l'Etablissement : "Hotel Tests".

    Du coté de mon appli Android j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    v1 est un Rech_Etablis
    v2 est un Rech_EtablisResponse
     
    v1.CodEtablis = "12345"
    v1.MdpEtablis = "3"
     
    v2 = Rech_Etablis(v1)
     
    Info(v2.Rech_EtablisResult)
    Mais l'Info(v2.Rech_EtablisResult) me retourne (fichier jpg en pièce jointe).

    le nom de l'ETablissement ne s'affiche pas.

    Merci de votre aide
    Images attachées Images attachées  

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

Discussions similaires

  1. [WD15E] Test de l'application sur tablette
    Par android_debutant dans le forum WinDev
    Réponses: 1
    Dernier message: 13/06/2012, 08h40
  2. Application sur J2ME avec connexion BD en MySql
    Par marguerite99 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 23/09/2010, 10h49
  3. Soucis avec base MySQL sur tuto
    Par Shirraz dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 13/07/2009, 18h36
  4. Réponses: 1
    Dernier message: 21/06/2006, 14h10
  5. Contenu DataSource.xml avec base Mysql
    Par PrinceMaster77 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 11/03/2004, 12h59

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