添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
阳光的西红柿  ·  création de dossier ...·  2 月前    · 
热心肠的冲锋衣  ·  Linux : compresser et ...·  1 年前    · 
沉着的斑马  ·  Problème avec le ...·  1 年前    · 
耍酷的胡萝卜  ·  datav elemetui 大屏 - ...·  3 月前    · 
文雅的炒饭  ·  JPA Query Methods :: ...·  6 月前    · 
失落的鸡蛋面  ·  文化园地 | ...·  10 月前    · 
Discussion : création de dossier dans l'android pour le stokage de fichiers média (en internal storage)
Sujet :

Android

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
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.
Homme Profil pro
Lead dév - Architecte
Inscrit en
Août 2003
Messages
6 692
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40
Localisation : France, Côte d'Or (Bourgogne)

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

Informations forums :
Inscription : Août 2003
Messages : 6 692
Points : 20 241
Points
20 241
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()
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
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.

Vous avez un bloqueur de publicités installé.

Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.

Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.