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

Composants FMX Delphi Discussion :

Boîtes de dialogue pour ouvrir/enregistrer des fichiers sous Android


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 462
    Par défaut Boîtes de dialogue pour ouvrir/enregistrer des fichiers sous Android
    Bonjour,

    Je commence à développer sous Android avec Delphi 10.1 Berlin.
    Je veux afficher les photos de mon téléphone, mais je n'ai pas accès à TOpenDialog qui n'existe pas sous Android pour choisir une photo à visualiser.
    Je me pose la même question pour enregistrer un fichier, comment choisir où l'enregistrer.

    Donc comment faire pour balayer les arborescences de répertoires ?

    Merci

  2. #2
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    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 : 941
    Par défaut
    Citation Envoyé par Bernard B Voir le message
    Je veux afficher les photos de mon téléphone, mais je n'ai pas accès à TOpenDialog qui n'existe pas sous Android pour choisir une photo à visualiser.
    Je ne me suis pas encore interessé à Android mais je fais cela avec iOS et je suppose que c'est la même chose, la gestion des photos sur mobiles est géré par le composant TActionList, il faut déposer ce composant sur ta fiche et avec un double click dessus, tu choisis les actions à utiliser.
    Pour charger une photo de ton téléphone, il faut utiliser la méthode TakePhotoFromLibraryActionDidFinishTaking

    Citation Envoyé par Bernard B Voir le message
    Je me pose la même question pour enregistrer un fichier, comment choisir où l'enregistrer.

    Donc comment faire pour balayer les arborescences de répertoires ?

    Merci
    Si tu as des documents à gérer, il faut utiliser le dossier StartUp\Documents du package, regardes les classes TPath et TFile de System.IOUtils ( Tdirectory aussi ) cela permet de gérer les fichiers avec fmx.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 462
    Par défaut
    Oui j'ai vu TActionList et sa commande pour charger une photo et l'afficher.
    Par contre il faut lui fournir le nom du fichier et son chemin complet (ce qui me semble évident), mais comment chercher dans les répertoires pour trouver le fichier à afficher ?

  4. #4
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    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 : 941
    Par défaut
    Bonjour,


    Avec TActionList tu n'as pas besoin de connaitre l'emplacement de la photo puisque l'événement OnDidFinishTaking de TakePhotoFromLibraryAction fournit en paramètre le bitmap de la photo choisie par l'utilisateur.

    http://docwiki.embarcadero.com/RADSt...es_d%27actions

    Ensuite pour la gestion des fichiers sur les mobiles, il y a TFile et TPath qui permet d’accéder aux dossiers de l'application comme TPath.GetDocumentsPath. En général c'est ce répertoire que l'on utilise sur les mobiles pour gérer les fichiers.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 462
    Par défaut
    Merci pour ce lien free07, je ne l'avais pas trouvé et il correspond à la première étape de ce que je cherche.

    Pour démarrer sous Android il donne l'esprit de ce type de développement complètement différent de celui que je pratique où je (tente) de tout maitriser.
    Là il faut rentrer dans le moule de l'OS sans forcément savoir où sont ses fichiers, où les images ne doivent pas se mélanger à autre chose....

    Je vais jouer un peu avec ça et quand je maîtriserai un peu mieux je me pencherai sur un FileExplorer que je viens de trouver !

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 659
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Je ne sais pas si je cerne correctement le problème. Pour moi je comprends qu'il faut trouver un équivalent à un opendialog (qui lui est quelque chose de purement windows). Pour un mobile j'utiliserai (j'écris j'utiliserai car je n'ai pas testé) une liste que je remplirai grâce au routines d'accès aux fichiers IOUtils (TDirectory.GetDirectories et TDirectory.GetFiles)
    Marco Cantù dans son livre blanc sur le dev d'application mobile décrit la manière de faire (chapitre 5.2 page 35-36)
    [Edit] on trouve même un appli+source assez complète ici

  7. #7
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    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 : 941
    Par défaut
    C'est vrai que la gestion des fichiers sur mobile est différente de celle que l'on connait sur Windows et peut un peu déconcerté au début.

    Je connais pas vraiment Android mais de ce que je sais sur iOS, une application est un paquet contenant des sous répertoires et des fichiers tels que les icones de l'application, les splash screen, les polices, etc
    Si l'on a besoin de sauvegarder des données dans des fichiers ou dans une bd, on utilise un sous répertoire de ce paquet et l'on y accède avec TPath.GetDocumentsPath, ces fichiers ( ou bd ) sont propres à l'application vu qu'ils font partie du paquet.
    Ensuite pour accéder à des fichiers extérieures à l'application, il y a la bibliothèque accessible justement grâce TActionList.

    Par contre, si tu veux accéder à des fichiers 'extérieurs' à ton application et à la bibliothèque, c'est surement possible, encore faut il savoir ou ils sont...

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/12/2013, 11h30
  2. Réponses: 1
    Dernier message: 13/09/2010, 06h22
  3. Enregistrer des fichiers sous VPN
    Par FredericB dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/07/2007, 14h45

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