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.