Android comment utiliser Environment.getExternalStorageDirectory ()

Comment puis-je utiliser Environment.getExternalStorageDirectory() pour lire une image enregistrée à partir de la carte SD ou existe-t-il un meilleur moyen de le faire?

     Environment.getExternalStorageDirectory().getAbsolutePath() 

    Vous donne le chemin complet de la carte SD. Vous pouvez ensuite effectuer des opérations d’E / S sur fichiers normales à l’aide de Java standard.

    Voici un exemple simple pour écrire un fichier:

     Ssortingng baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); Ssortingng fileName = "myFile.txt"; // Not sure if the / is on the path or not File f = new File(baseDir + File.separator + fileName); f.write(...); f.flush(); f.close(); 

    Modifier:

    Oups – vous vouliez un exemple de lecture …

     Ssortingng baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); Ssortingng fileName = "myFile.txt"; // Not sure if the / is on the path or not File f = new File(baseDir + File.Separator + fileName); FileInputStream fiStream = new FileInputStream(f); byte[] bytes; // You might not get the whole file, lookup File I/O examples for Java fiStream.read(bytes); fiStream.close(); 

    N’oubliez pas que getExternalStorageDirectory () ne fonctionnera pas correctement sur certains téléphones, par exemple sur mon Motorola Razr Maxx, car il possède 2 cartes / mnt / sdcard et / mnt / sdcard-ext – pour les cartes SD internes et externes. Vous obtiendrez la seule réponse / mnt / sdcard à chaque fois. Google doit fournir un moyen de faire face à une telle situation. Comme il rend de nombreuses applications sensibles à la carte SD (c.-à-d. Sauvegarde de carte) échouant lamentablement sur ces téléphones.

    Comme décrit dans Documentation Environment.getExternalStorageDirectory () :

    Environment.getExternalStorageDirectory () Retourne le répertoire de stockage principal partagé / externe.

    Voici un exemple d’utilisation de la lecture d’une image:

     Ssortingng fileName = "stored_image.jpg"; Ssortingng baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); Ssortingng pathDir = baseDir + "/Android/data/com.mypackage.myapplication/"; File f = new File(pathDir + File.separator + fileName); if(f.exists()){ Log.d("Application", "The file " + file.getName() + " exists!"; }else{ Log.d("Application", "The file no longer exists!"; }