AymericB Posté(e) 6 mai 2011 Share Posté(e) 6 mai 2011 Bonjour, J'ai une application de geo-localisation à réaliser. Je ne peux pas utiliser Google map pour parer le possible manque de connexion. Je dois donc insérer une image bmp dans la mémoire du téléphone (htc desire Z sans SDcard) Problème : je ne sais pas bien comment réaliser cette opération, je trouve beaucoup de solutions pour récupérer des fichiers stockés sur la SD mais pas directement sur la mémoire du tel. Quelle est la démarche, dans quel directory du tel dois-je stocker mon image et comment y accéder dans mes développements? Merci d'avance pour votre aide. Aymeric Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 6 mai 2011 Share Posté(e) 6 mai 2011 Le moyen le plus simple est de mettre ton fichier dans les ressources de ton projets (dans le répertoire res/raw par exemple), tu pourras ensuite récupérer son contenu via getResources().openRawResource(R.raw.ID_DE_TA_RESOURCE) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AymericB Posté(e) 6 mai 2011 Auteur Share Posté(e) 6 mai 2011 Oui je sais bien, mais le but est de pouvoir changer l'image régulièrement, donc je ne peux pas me permettre de revenir dans le code à chaque fois, il faut que je puisse charger cette image à chaque démarrage de mon application depuis un directory précis accessible par n'importe quel utilisateur "non développeur". Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 6 mai 2011 Share Posté(e) 6 mai 2011 Et tu vas la chercher où, cette image, initialement ? Parce qu'il faut bien la mettre sur le téléphone. Et si tu n'as pas de SDcard... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AymericB Posté(e) 6 mai 2011 Auteur Share Posté(e) 6 mai 2011 Lorsque je branche mon htc sur le pc, il apparaît un disque amovible G sur mon poste de travail, la il y a plusieurs dossiers, genre DCIM, Music, HTC Tools, Android, .data, etc... Je mets mon image dans un de ces dossiers ou carrément à la racine, mais par la suite je n'arrive pas à y accéder en dév. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 6 mai 2011 Share Posté(e) 6 mai 2011 Ton téléphone a visiblement un espace de stockage interne, qui sera considéré, du côté Android, comme une SDCard (même si ce n'en est pas une réellement). Donc, accessible dans ton application de la manière traditionnelle pour accéder au stockage "externe" (par exemple, Environment.getExternalStorageDirectory() pour récupérer le répertoire racine de cet espace de stockage) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AymericB Posté(e) 6 mai 2011 Auteur Share Posté(e) 6 mai 2011 J'ai déjà essayé cette solution, sans succès... mon code : File path = Environment.getExternalStorageDirectory(); File file = new File(path, "test2.png"); try { in = new FileInputStream(file); Résultat : 13:59:27.371 31307 ERROR Error reading file java.io.FileNotFoundException: /mnt/sdcard/test2.png (Permission denied) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tehfist Posté(e) 8 mai 2011 Share Posté(e) 8 mai 2011 il faut ajouter une permission dans ton manifest pour permettre l'accès aux données du téléphone de l'utilisateur Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AymericB Posté(e) 9 mai 2011 Auteur Share Posté(e) 9 mai 2011 Oui, ok mais quelle est la permission pour y accéder et surtout quel est le directory path? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AymericB Posté(e) 10 mai 2011 Auteur Share Posté(e) 10 mai 2011 Quelqu'un a t'il une solution s'il vous plait :mad: ...? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
raptor079 Posté(e) 8 juin 2011 Share Posté(e) 8 juin 2011 (modifié) il faut ajouter une permission dans ton manifest pour permettre l'accès aux données du téléphone de l'utilisateur Tehfist a sans doute raison: pour ma part, j'utilise un nexus S qui n'a pas de carte sd non plus. mais dans le system il y a bien une partition SD: essaye le code suivant : dans ton JAVA: // chemin d'accès à la racine de ton lecteur G File path = new File(Environment.getExternalStorageDirectory()); // decodage de ton image Bitmap image = BitmapFactory.decodeFile(path.toString()); N'oublie pas le manifest: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> normalement cela devrais aller mieux PS, je viens de voir la date du post. A mon avis tu as trouvé la solution. mais ça va peut être servir à quelqu'un d'autre ! Modifié 8 juin 2011 par raptor079 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.