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

Bases de données Delphi Discussion :

[XE8]Probléme Application Android avec SQlite


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Points : 77
    Points
    77
    Par défaut [XE8]Probléme Application Android avec SQlite
    Bonjour ,

    j'arrive pas a exécuter mon application .


    voila comment j'ai procéder :

    précision : le tuto je lé trouver dans l'aide de delphi .

    Tutoriel mobile : Utilisation de FireDAC dans les applications mobiles (iOS et Android)De RAD Studio
    Remonter à Tutoriels mobiles : Développement d'applications mobiles (iOS et Android)

    Sommaire
    1 Utilisation de FireDAC pour se connecter à la base de données
    2 Conception et configuration de l'interface utilisateur
    3 Utilisation de l'expert LiveBindings
    3.1 Ajout des composants LiveBindings
    3.2 Ajouter le composant Vue liste
    4 Utilisation de l'expert LiveBindings
    5 Préparation de votre application pour l'exécution
    6 Configuration du déploiement de votre base de données sur un mobile
    6.1 Ajout et configuration de votre fichier de base de données dans le Gestionnaire de déploiement
    7 Modification de votre code pour se connecter à un fichier de base de données local sur un mobile
    7.1 Spécification de l'emplacement de la base de données SQLite sur le périphérique mobile
    8 Exécution de votre application sur le simulateur ou sur le périphérique mobile
    9 Voir aussi


    Ce tutoriel décrit les étapes fondamentales permettant d'utiliser SQLite en tant que stockage de données local sur votre périphérique mobile à travers le framework FireDAC.

    iOS Android
    IPodRunTime.png

    AndroidTRunTime.png

    Utilisation de FireDAC pour se connecter à la base de donnéesFireDAC est un ensemble unique de composants d'accès aux données universel conçus pour le développement d'applications de bases de données multi-périphériques pour Delphi et C++Builder. Grâce à son architecture commune, FireDAC permet un accès direct, rapide et natif de Delphi vers InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, IBM DB2, SQL Anywhere, Access, Firebird, Informix, et bien d'autres.

    Le pilote natif FireDAC supporte la base de données SQLite version 3.0 et ultérieure. Pour en savoir plus sur l'utilisation de SQLite dans FireDAC pour une application Delphi, lisez "Utilisation de SQLite avec FireDAC".

    Pour utiliser SQLite dans votre application, le fichier sqlite3.dll doit être présent sur votre système de développement. Si le fichier n'est pas présent, téléchargez sqlite3.dll depuis http://www.sqlite.org/download.html vers votre chemin système (tel que C:\Windows\SysWOW64 pour Windows 64 bits).

    Conception et configuration de l'interface utilisateurCréez un nouveau projet. Choisissez une Application multi-périphérique.

    Déposez un composant TFDConnection sur la fiche.
    Cliquez avec le bouton droit sur le composant TFDConnection et choisissez Editeur de connexion.
    Dans l'éditeur de connexion FireDAC, définissez les paramètres suivants du composant TFDConnection :
    Définissez la propriété Driver ID sur SQLite.
    Définissez le paramètre Database sur :
    C:\Users\Public\Documents\Embarcadero\Studio\16.0\Samples\Data\Employees.s3db (emplacement de la base de données)
    et cliquez sur Ouvrir dans la boîte de dialogue d'ouverture de fichier.
    (Pour afficher Employees.s3db dans le dialogue Ouvrir, définissez l'option Tous les fichiers (*.*).)
    ConnectionEdtFD.png


    Cliquez sur le bouton Tester pour tester la connexion.
    TestConnectionSuccess.png


    Cliquez sur OK pour fermer l'éditeur de connexion.
    Dans l'inspecteur d'objets, définissez les propriétés suivantes du TFDConnection :
    Définissez la propriété LoginPrompt sur False, afin que l'utilisateur ne reçoive pas d'invite de connexion.
    Définissez la propriété Connected sur True.
    Utilisation de l'expert LiveBindingsUtilisez l'expert LiveBindings pour ajouter les composants LiveBindings (TBindSourceDB, TBindingsList), TFDQuery, et le composant TListView.

    Ajout des composants LiveBindingsSélectionnez Voir > Concepteur LiveBindings et le Concepteur LiveBindings s'ouvre.
    Sélectionnez Expert LiveBindings.
    SelectLiveBindWizard.png


    Sélectionnez la tâche de liaison Créer une source de données.
    Cliquez sur le bouton Suivant.
    Sélectionnez le nom de classe FireDAC.
    Cliquez sur le bouton Suivant.
    Changez le Type de la commande par Query.
    Définissez la propriété Texte de la commande sur select Name, Department, Seniority from Employee order by Department.
    LiveBindWizardFD.png


    Cliquez sur le bouton Tester la commande.
    Cliquez sur le bouton Suivant.
    Cliquez sur le bouton Terminer.
    A ce stade, les composants TBindSourceDB et TFDQuery ont été ajoutés sur la fiche.

    Ajouter le composant Vue listeRouvrez l'expert LiveBindings.
    Sélectionnez la tâche de liaison Lier un contrôle à un champ.
    ControlFieldWizard.png


    Cliquez sur le bouton Suivant.
    Sélectionnez TListView.
    Cliquez sur le bouton Suivant.
    Sélectionnez BindSourceDB1.
    Cliquez sur le bouton Suivant.
    Sélectionnez le nom de champ Name.
    FieldNameWizard.png


    Cliquez sur le bouton Suivant.
    Cliquez sur le bouton Terminer pour fermer l'expert.

    Utilisation de l'expert LiveBindings
    Concepteur LiveBindingsUtilisez le Concepteur LiveBindings pour ajouter de nouvelles connexions entre les composants TBindSourceDB et TListView.

    Sélectionnez le membre ItemHeader.Text depuis TListView.
    Effectuez une liaison au membre Department du composant BindSourceDB1 par glissement (une ligne de connexion apparaît).
    Sélectionnez le membre Item.Text depuis TListView.
    Effectuez une liaison au membre Name du composant BindSourceDB1 par glissement (une ligne de connexion apparaît).
    Dans l'inspecteur d'objets, définissez les propriétés suivantes du TListView :
    Définissez la propriété ItemAppearance sur ImageListItemRightButton.
    Dans le Concepteur LiveBindings, le TListView doit avoir un nouveau membre, Item.ButtonText.
    Définissez la propriété Align sur Client.
    Dans le Concepteur LiveBindings, sélectionnez le membre Item.ButtonText depuis TListView.
    Effectuez une liaison au membre Seniority du composant BindSourceDB1 par glissement (une ligne de connexion apparaît).
    Préparation de votre application pour l'exécutionFireDAC a une architecture multi-couche associée de manière souple, dans laquelle les couches fournissent des services. Une API de services est une interface COM à laquelle d'autres couches accèdent en utilisant la fabrique d'interfaces.

    Pour un bon fonctionnement de FireDAC, vous devez lier l'implémentation des interfaces IFDGUIxWaitCursor et IFDPhysDriver à votre application.

    Pour ce faire, déposez les composants TFDGUIxWaitCursor et TFDPhysSQLiteDriverLink sur la fiche.

    Configuration du déploiement de votre base de données sur un mobileJusqu'ici, vous avez utilisé SQLite sur votre bureau. Cela signifie que la base de données réelle est située sur votre disque dur local (par exemple, C:\Users\Public\Documents\Embarcadero\Studio\16.0\Samples\Data\Employees.s3db). Sur le périphérique mobile, les applications résident dans le Sandbox, et vous pouvez typiquement lire et écrire seulement les données qui sont situées dans le dossier Documents (pour un périphérique iOS) et dans le stockage interne (pour un périphérique Android) sous votre dossier d'application.

    Pour établir une connexion à une base de données locale sur un mobile, vous devez effectuer les actions suivantes :

    Déployer la base de données sur le périphérique mobile.
    Changer la configuration (pour se connecter au fichier de base de données) en choisissant un fichier local sous le dossier Documents (pour un périphérique iOS) ou dans le stockage interne (pour un périphérique Android).
    Ajout et configuration de votre fichier de base de données dans le Gestionnaire de déploiementAvant d'exécuter votre application sur un mobile, vous devez configurer le déploiement pour votre fichier de base de données (Employees.s3db).

    Ouvrez le Gestionnaire de déploiement en sélectionnant Projet > Déploiement.
    Sélectionnez Ajouter des fichiers et sélectionnez le fichier de base de données (par exemple, C:\Users\Public\Documents\Embarcadero\Studio\16.0\Samples\Data\Employees.s3db).
    AddingDatabaseFile.png


    Sélectionnez Employees.s3db et définissez son chemin distant sur StartUp\Documents\ (pour la plate-forme iOS) ou assets\internal\ (pour la plate-forme Android).
    Chemin distant sur la plate-forme iOS
    RemotePathEmployees.png


    Chemin distant sur la plate-forme Android
    AndroidRemotePathAssets.png


    Sélectionnez la colonne Plates-formes (double-cliquez sur les points de suspension [...] dans la ligne relative à Employees.s3db) :
    Assurez-vous que le simulateur iOS et le périphérique iOS ou Android sont présents pour Employees.s3db.
    Retirez Win32 de la liste s'il est présent (vous n'avez pas à copier les fichiers de base de données sur la plate-forme Win32).
    Sélectionnez la plate-forme Toutes les configurations - Périphérique iOS ou la plate-forme Toutes les configurations - Android et assurez-vous que Employees.s3db est défini pour être déployé sur StartUp\Documents\ ou assets\internal.
    Conformément à la configuration définie, quand vous exécutez l'app sur le périphérique mobile, le fichier de base de données (Employees.s3db) est déployé dans le dossier Documents (pour la plate-forme iOS) ou dans le stockage interne (pour la plate-forme Android) de la zone sandbox de votre application.

    Modification de votre code pour se connecter à un fichier de base de données local sur un mobileLes fonctionnalités élémentaires de cette application sont maintenant implémentées. Le fichier de base de données utilisé dans cette application a été créé sur Windows, et le fichier n'est pas disponible sur votre périphérique mobile, sauf si vous l'avez copié sur le périphérique mobile ou créé à la volée.

    Spécification de l'emplacement de la base de données SQLite sur le périphérique mobileDans le Concepteur de fiches, sélectionnez le composant FDConnection1.
    Dans l'inspecteur d'objets, double-cliquez sur l'événement BeforeConnect.
    Ajoutez le code suivant à ce gestionnaire d'événement :
    Delphi :

    procedure TForm1.FDConnection1BeforeConnect(Sender: TObject);
    begin
    FDConnection1.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'Employees.s3db');
    end;L'enregistrement TPath est déclaré dans l'unité System.IOUtils. Vous devez donc ajouter System.IOUtils à la clause uses de votre unité.

    C++ (seulement pour iOS) :

    void __fastcall TForm1::FDConnection1BeforeConnect(TObject *Sender)
    {
    FDConnection1->Params->Values["ColumnMetadataSupported"] = "False";
    FDConnection1->Params->Values["Database"] = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), "Employees.s3db");
    }L'enregistrement TPath est déclaré dans la bibliothèque System.IOUtils, vous devez donc ajouter #include <System.IOUtils.hpp> dans votre unité d'en-tête.

    Exécution de votre application sur le simulateur ou sur le périphérique mobileVotre application est maintenant prête pour l'exécution (sélectionnez Exécuter > Exécuter).
    j'ai suivi (normalement) étape par étape et je ne sais pas ou ça coince sachant que j'ai pas de code d'erreur , le débogage ce fait normalement mais une fois l'application ouverte sur le smartphone cette dernière affiche un écran noire et reste figé jusqu’à caque je la ferme...sinon je vais vous montrer les image pour mieux éclairé :
    1-

    Nom : Capture.JPG
Affichages : 1730
Taille : 226,1 Ko

    2-

    Nom : Capture1.JPG
Affichages : 1601
Taille : 254,7 Ko


    3-

    Nom : Capture2.JPG
Affichages : 1753
Taille : 209,7 Ko

    Pour trouver le message d’Erreur :

    Problèmes de gestion des exceptions Si votre application déclenche une exception sans disposer d'un code de gestion d'exception adéquat, votre application multi-périphérique se bloque simplement (disparaît) à l'exécution.

    En présence d'un blocage, vous pouvez vous connecter manuellement à la base de données pendant la résolution du problème par le biais des étapes suivantes :

    Sélectionnez le composant FDConnection1 et définissez la propriété Connected sur False.
    Déposez un bouton sur la fiche et créez le gestionnaire d'événement suivant pour établir une connexion manuelle à la base de données :
    Delphi :
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    try
    FDConnection1.Connected := True;
    FDQuery1.Active := True;
    except
    on e: Exception do
    begin
    ShowMessage(e.Message);
    end;
    end;
    end;C++ :
    void __fastcall TForm1::Button1Click(TObject *Sender) {
    try {
    FDConnection1->Connected = true;
    FDQuery1->Active = true;
    }
    catch(Exception &e) {
    ShowMessage(e.Message);
    }
    }Vérifiez le message d'erreur.
    mon message d'erreur est :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [FireDAC][Phys][SQLite]ERROR : No such table :EMPLOYEES []

    la table existe bien-sur ... je conclu qu'il reconnait la base de données mais pas les tables .

    merci.
    Delphi XE8 Architect - Win 10

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    les liens vers les tutoriels auraient suffit je crois.
    2 choses m'interpellent :
    1- vous utilisez un nom de connexion défini (connectiondefname) or cela n'est valable que pour windows (on peut très bien s'en passer), mais ce n'est qu'un détail
    de même pour la propriété ConnectedStoredUsage n'avoir que auDesignTime serait mieux
    2- l'erreur indique EMPLOYEES qui est le nom de la base de données, la table, elle, se nomme Employee. notez également que je différencie Majuscules et minuscules (Android étant basé sur LINUX normalement la gestion des fichiers est sensible à la casse sauf si l'on parle de carte SD formatée en FAT32.

    Première piste d'erreur votre query est mauvaise :
    SELECT * FROM Employees
    Je vais rapidement écrire votre même application pour vérifier la chose
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Re, après avoir fait mon petit programme (quasi identique)
    Nom : Capture.PNG
Affichages : 1594
Taille : 59,5 Ko
    constatation même problème mon écran de tablette reste noir, l'application reste figée après le lancement. Par contre elle s'installe bien
    pour écarter la piste SQLlite je refais une petite application avec juste un label et un bouton : Même chose
    Conclusion mon problème ne vient pas du programme mais d'un paramètre quelconque ou de la tablette (je n'ai qu'une vieille, informatiquement parlant, Arnova connectée via WiFi et réseau local) comme c'est mon premier essai de déploiement sur un device Android , je présume qu'il me manque quelque chose
    en tout cas pas d'erreur sur le programme en soi
    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
    procedure TForm5.btnTestClick(Sender: TObject);
    begin
    {$IF DEFINED(ANDROID)}
    FDConnection1.Params.Database:=TPath.Combine(TPath.GetDocumentsPath,'Employees.s3db');
    {$ENDIF}
    try
      FDConnection1.Connected:=True;
      try
         FDQuery1.Active:=True
      except on E: Exception do
         ShowMessage(e.Message);
      end;
    except on E: Exception do
      ShowMessage(E.Message);
    end;
    end;
    va t-il falloir que je passe par l'émulateur Android fourni pour tester ? je le craint . Suite au prochain post (sauf si bien sur quelqu'un me donne une solution )
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    l'erreur indique EMPLOYEES qui est le nom de la base de données, la table, elle, se nomme Employee. notez également que je différencie Majuscules et minuscules (Android étant basé sur LINUX normalement la gestion des fichiers est sensible à la casse sauf si l'on parle de carte SD formatée en FAT32.
    - Au début c'est ce que j'ai crus du coup j'ai essayer avec plusieurs bases de données et c'est bien les tables qui ne sont pas reconnus .
    Première piste d'erreur votre query est mauvaise :
    SELECT * FROM Employees
    - J'utilise un composant Table .

    va t-il falloir que je passe par l'émulateur Android fourni pour tester ?
    - je lé fais et c'est exactement pareil même pire, des fois mon EDI fige jusqu’à ce que j'annule l’exécution .

    - d'une certaine façon ça ma rassure de savoir qu'on a le même problème ça me prouve qui j'ai bien suivi les étapes mais d'une autre ,ça fait un peut peur j’espère que c'est pas un problème lier a la version de delphi .
    Delphi XE8 Architect - Win 10

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    va t-il falloir que je passe par l'émulateur Android fourni pour tester ? je le crains
    AVD n'est pas une solution envisageable sur mon pc : trop vieux (j'ai envie de rajouter comme moi), mon bios (et processeur) n'accepte pas la Virtualisation du coup au démarrage d'une console virtuelle j'obtiens
    Starting emulator for AVD 'VMAndroid'
    emulator: ERROR: x86 emulation currently requires hardware acceleration!
    Please ensure Intel HAXM is properly installed and usable.
    CPU acceleration status: HAX kernel module is not installed!
    je suis donc condamné à comprendre où ça coince avec mon Arnova ou à investir dans un téléphone récent (ça tombe bien j'approche de mon anniversaire)
    Si quelqu'un a une suggestion de modèle qui serait à coup sur "compatible" je serais à l'écoute
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Points : 77
    Points
    77
    Par défaut
    Bonjour ,

    normalement t'a tablette ferra l'affaire et d’après l'aide de delphi le périphérique externe et mieux que l'émulateur .
    Attention : Les émulateurs Android sont très lents et ne supportent pas les mêmes fonctionnalités que les périphériques réels. Si vous avez un périphérique Android, utilisez-le à la place du simulateur.
    de ma part j'ai deux smartphone le premier est Samsung Galaxy note 2 (il est reconnu par delphi) le deuxième c'est un sony Xperia (Non reconnu par delphi).

    conclusion : le problème ne vient pas du périphérique puisque même avec un plus récent le problème persiste .
    Delphi XE8 Architect - Win 10

  7. #7
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 931
    Points : 1 909
    Points
    1 909
    Par défaut
    Bonjour,

    Sinon, il y a une description des appareils Android supportés et ils indiquent aussi un lien vers un programme qui permet de vérifier les fonctionnalités de CPU, le programme est gratuit et s'appel SysCheck.

    Ces informations sont ici

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Re,

    Oui, normalement ma tablette devrait faire l'affaire
    ARMv7 rev 2 OK
    Neon OK
    mode debug actif
    OS 4.03 => API 15
    C'est peut être là que ça cause soucis j'ai compilé avec le SDK 22

    de plus, je ne peux pas brancher la Tablette via cable USB, j'utilise donc sur la tablette wifi ADB (et non le ADB over Wifi que j'ai pu voir sur certaines démos embarcadero ) et me connectes donc via le programme ADB sur mon PC , comme je trouve la tablette une fois les liens effectués je ne pense pas que ce soit un problème.
    Il faudra donc que je ré-essaye en utilisant le SDK 15 mais là je vois pas (encore) comment/ce qu'il faut changer
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut Etat d'avancement
    J'ai toujours l'écran noir
    pourtant j'ai réussi (ce qui n'était pas encore le cas) à connecter ma tablette via USB (il me manquait le câble et surtout le driver!)
    l'installation du driver fut épique sous windows 8 et les étapes nombreuses mais bon après quelques jurons bine sentis je vois bien ma tablette.
    Cependant j'obtiens toujours le même résultat, tout se passe bien au niveau du déploiement en debug, l'écran de démarrage apparaît (la petite flamme), s'efface et plus rien
    Donc ce n'est pas un problème SQLite (j'ai même fait une application 'hello la terre') mais bien un problème de déploiement ou d'appareil !

    @Free07 Syscheck semble me dire que c'est OK

    J'ai ensuite essayé différents simulateurs, c'est tellement lent et difficile de trouver un simulateur qui peut fonctionner sur mon poste que c'en est plus que frustrant !
    Je vais tenter d'emprunter un téléphone Android "reconnu" à quelqu'un pour me libérer l'esprit. Mais surtout ouvrir un nouvelle discussion sur ce sujet.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    tu peux lancer le Monitor Android pour voir ce qu'il se passe

    C:\Users\Public\Documents\Embarcadero\Studio\16.0\PlatformSDKs\android-sdk-windows\tools\monitor.bat

    dans l'onglet LogCat tu as tous les logs systèmes que tu peux filter en fonction du process, d'un texte, du niveau d'erreur...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Re,
    Citation Envoyé par Paul TOTH Voir le message
    tu peux lancer le Monitor Android pour voir ce qu'il se passe
    Merci Paul, je cherchais partout comment faire ce log !

    Tu remarqueras que j'ai préféré lancer une nouvelle discussion, pas forcément mieux placée FMX ou IDE choix difficile, mais comme cela n'a aucun vrai rapport avec les Bases de Données au final j'ai préféré exposer le cas ailleurs
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Points : 77
    Points
    77
    Par défaut
    Bonjours,

    - de ma part l’application s'exécute normalement quand j’intègre pas une BDD ,aucune erreur et mon application ce lance et je peut interagir avec cette dernière le plus normalement du monde ,par contre dès que j’intègre ma base de données avec soit un composant Query ou Table le problème apparais donc je suppose mon blocage et plus avancer par rapport au tien. c'est donc pour ça que je soupçonne que mon blocage a un rapport avec la Base de données .
    Delphi XE8 Architect - Win 10

  13. #13
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Problème de droits sur la base ou sur l'endroit où est copiée la base ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  14. #14
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 931
    Points : 1 909
    Points
    1 909
    Par défaut
    Citation Envoyé par adelcrb Voir le message
    Bonjours,

    c'est donc pour ça que je soupçonne que mon blocage a un rapport avec la Base de données .
    Citation Envoyé par SergioMaster Voir le message
    Problème de droits sur la base ou sur l'endroit où est copiée la base ?
    Ou la base se deploie pas sur l'appareil Android ? Cela m'était arrivé, la base sqlite était bien cochée dans le gestionnaire de déploiement mais il n'était pas copié... je ne sais pas sur Android si tu as moyen de vérifier que la base est bien présente et au bon endroit ( sur iOS c'est possible avec xCode )

    Peut être faire un essai en créant la base ( paramètre FailIfMissing=False avec SQLite )

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Points : 77
    Points
    77
    Par défaut
    Ou la base se deploie pas sur l'appareil Android ? Cela m'était arrivé, la base sqlite était bien cochée dans le gestionnaire de déploiement mais il n'était pas copié... je ne sais pas sur Android si tu as moyen de vérifier que la base est bien présente et au bon endroit ( sur iOS c'est possible avec xCode )

    Peut être faire un essai en créant la base ( paramètre FailIfMissing=False avec SQLite )
    - ça m'est passé par la tête mais j'ai pas su comment le faire ,parce-que même si elle existe j'aimerai bien vérifier ça taille pour savoir si elle s'est vraiment transférer correctement vu que sur le message d’erreur il est mentionner que la table n'existe pas .
    Delphi XE8 Architect - Win 10

  16. #16
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 931
    Points : 1 909
    Points
    1 909
    Par défaut
    Citation Envoyé par adelcrb Voir le message
    - ça m'est passé par la tête mais j'ai pas su comment le faire ,parce-que même si elle existe j'aimerai bien vérifier ça taille pour savoir si elle s'est vraiment transférer correctement vu que sur le message d’erreur il est mentionner que la table n'existe pas .
    Lorsque j'ai ce problème de transfert de la base, je supprime toute l'application ( et donc la base ) sur l'appareil, ce qui fait que cela force le déploiement de toute l'application avec la base.

  17. #17
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    l'idée de faire un test en créant la base de données au démarrage du programme ou mieux encore via un click sur un bouton est intéressante.
    Ainsi tu pourrais
    - être sur que la base serait crée
    - re tester ensuite une connexion sans création
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  18. #18
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Points : 77
    Points
    77
    Par défaut
    Bonjours,

    voila je viens de réussir a afficher mes enregistrement et c'étais bien le mauvais déploiement de la base ,j'ai désinstaller l'application , j'ai retenter et ça a marcher, merci beaucoup pour votre aide qui ma étais vraiment précieux .
    Delphi XE8 Architect - Win 10

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/01/2012, 08h36
  2. SQLite & C# : Problème à la compilation avec SQLite.Interop.dll
    Par Naoris dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/12/2011, 13h46
  3. Problème application Android sur Galaxy S2
    Par frimeman dans le forum Android
    Réponses: 2
    Dernier message: 01/08/2011, 01h45
  4. Problème de suppression avec sqlite dans C#
    Par Umlist dans le forum SQLite
    Réponses: 1
    Dernier message: 21/04/2011, 00h44

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