French Accéder au dossier /mnt/sdcard

FLAMMANT Didier

Member
Licensed User
Bonjour,
Je suis novice en B4A mais connais bien le développement VB.Net sous Windows CE et Mobile.

Pour que mon application soit paramétrable depuis l'extérieur de mon programme, je voudrais déposer des fichiers dans le dossier /mnt/sdcard via la liaison USB ou autre. Mon programme détecte la présence de ces fichiers et récupère les données. Après récupération les fichiers seront effacés par mon programme.
Le problème est que je n'arrive pas à accéder via B4A à ce dossier alors que le gestionnaire de fichiers d'Android y arrive.
Ma version Android : 6.0.1

Merci de votre réponse
 

klaus

Expert
Licensed User
Longtime User
Désolé de ne répondre qu'aujourd'hui.
J'avais vu ta question un soir et je me suis dit que je j'y répondrai le lendemain.
Mais le lendemain j'avais oublié.

L'accès à la mémoire extérieure est devenu beaucoup plus compliqué avec les dernières versions d'Android.
Est-ce que /mnt/sdcard est une carte interne de l'appareil ou une carte externe que l'utilisateur peut changer.
De mémoire, la désignation /mnt/sdcard n'est pas standardisé.

Peux-tu poster le code que tu utilises, ou mieux un petit projet démontrant le problème.

Ci-joint, un petit programme qui sauve un texte et le relit.
Qui fonctionne aussi sur Android 9.
Le répertoire est un répertoire spécifique au programme qui s'appelle comme suit chez moi:
/storage/emulated/0/Android/data/b4a.AccesMemoire/files
Le fichier est visible sur l'appareil avec le programme Mes fichiers.
Il est aussi accessible et modifiable depuis l'ordinateur lorsqu'on connecte l'appareil au PC via un câble USB
Si tu veux accéder à une carte externe c'est plus compliqué.
 

Attachments

  • AccesMemoire.zip
    7.9 KB · Views: 424

FLAMMANT Didier

Member
Licensed User
Bonjour Klaus
Merci pour ta réponse. J'ai bien essayé l'exemple donné sur le forum qui permet d'écrire dans le dossier de l'application. Depuis le PDA (DATALOGIC Joya Touch) j'arrive bien à relire le dit fichier. Par contre si j'utilise le gestionnaire de fichiers du PDA, pas de trace des dossiers 0, Android, etc dans le dossier /storage/emulated
Sur une tablette Android et sur le PDA je retrouve bien le dossier /mnt/sdcard. Celui-ci correspond bien à un dossier interne des appareils. Avec les gestionnaires de fichiers des appareils, j'arrive bien à créer des dossiers et fichiers mais impossible à les lire depuis B4A. A chaque fois j'ai l'erreur Access denied. Quand je connecte le PDA sur mon PC sous Windows 10, je ne le vois pas dans l'explorateur de fichiers de Windows.
 

FLAMMANT Didier

Member
Licensed User
Rebonjour Klaus
En cochant l'option "Transférer des fichiers" de ma connexion USB au PDA, j'ai bien accès depuis mon PC et depuis le PDA au dossier /storage/emulated/0/Toto qui est le dossier créé depuis le PC. Depuis le gestionnaire de fichiers du PDA j'y accède également. Je viens d'essayer ton exemple et c'est tout bon. Je vais modifier mon dossier pour l'import de données depuis le PC.
Merci beaucoup pour ton aide.

Saurais-tu par hasard où je pourrais suivre une formation (même payante) sur l'utilisation de B4A et Android. Ce système d'exploitation m'est complètement inconnu étant tombé dans Windows depuis ses débuts...
 

klaus

Expert
Licensed User
Longtime User
Le dossier de l'application, Files.DirInternal, est dossier attribué à l'utilisation exclusive de l'application, donc pas accessible par d'autres.

Est-ce que tu as essayé le programme que j'ai joint à mon précédent message?

Sinon, postes ton projet en fichier zip (menu File / Export As Zip ou Fichier / Exporter en zip) et j'y jetterais un coup d'oeil.
 
Top