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

Android Discussion :

création de dossier dans l'android pour le stokage de fichiers média (en internal storage)


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 32
    Points : 17
    Points
    17
    Par défaut création de dossier dans l'android pour le stokage de fichiers média (en internal storage)
    Bonjour,

    Je souhaite créer un dossier dans mon android afin d'y mettre dedans des images que mon application va me produire.
    J'ai trouvé sur le site du developer.android.com, le code qui fait cela, mais sur une carte SD, donc en stockage externe. Ci dessous le code :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public static final int MEDIA_TYPE_IMAGE = 1;
    public static final int MEDIA_TYPE_VIDEO = 2;
     
    /** Create a file Uri for saving an image or video */
    private static Uri getOutputMediaFileUri(int type){
          return Uri.fromFile(getOutputMediaFile(type));
    }
     
    /** Create a File for saving an image or video */
    private static File getOutputMediaFile(int type){
        // To be safe, you should check that the SDCard is mounted
        // using Environment.getExternalStorageState() before doing this.
     
        File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
                  Environment.DIRECTORY_PICTURES), "MyCameraApp");
        // This location works best if you want the created images to be shared
        // between applications and persist after your app has been uninstalled.
     
        // Create the storage directory if it does not exist
        if (! mediaStorageDir.exists()){
            if (! mediaStorageDir.mkdirs()){
                Log.d("MyCameraApp", "failed to create directory");
                return null;
            }
        }
     
        // Create a media file name
        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
        File mediaFile;
        if (type == MEDIA_TYPE_IMAGE){
            mediaFile = new File(mediaStorageDir.getPath() + File.separator +
            "IMG_"+ timeStamp + ".jpg");
        } else if(type == MEDIA_TYPE_VIDEO) {
            mediaFile = new File(mediaStorageDir.getPath() + File.separator +
            "VID_"+ timeStamp + ".mp4");
        } else {
            return null;
        }
     
        return mediaFile;
    }
    Cependant, je souhaite faire la même chose, mais en stockage interne et non pas sur la SD card.
    Je dois donc remplacer la fonction getExternalStoragePublicDirectory() par celle qui permet d'utiliser le stockage interne.
    Après recherche sur le net, il me semble qu'il faut utiliser getDir().

    J'aurai besoin d'un coup de main pour modifier ce code, car je débute en programmation Android, et je ne sais pas programmer en java non plus Je fais mon application en compilant du code C sous Eclipse avec la NDK.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    getDir() te donne le chemin vers le stockage accessible par ton applis mais aussi par les autres. Donc un stockage non privé.
    Pour utiliser le stockage interne privé à ton application il faut utiliser getFilesDir()
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Heu... dans quel sens comprends tu "extern" ?

    Souvent on pense que ça veut dire "carte SD externe", alors qu'en fait, c'est la SD (interne) visible par un appareil branché en USB.

    getExternalFilesDir() permet de ce fait de stocker les fichiers dits "publics" (les fichiers accessibles par toutes les autres applications quoi).
    Le code indiqué est donc parfaitement correct pour le stockage de vidéos / images.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2015, 19h19
  2. Création de dossiers dans un makefile
    Par MicBeastKiller dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 12/12/2012, 17h39
  3. [XCode] Création de dossier dans xcode
    Par stephan1932 dans le forum XCode
    Réponses: 2
    Dernier message: 12/05/2012, 11h11
  4. Création de dossiers dans les sous-dossiers
    Par djaih dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 26/05/2011, 13h29
  5. Réponses: 8
    Dernier message: 22/02/2008, 12h55

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