Autore Topic: Scrittura file (bitmap) su memoria esterna  (Letto 324 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1232
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Scrittura file (bitmap) su memoria esterna
« il: 11 Giugno 2014, 09:37:31 CEST »
0
Salve a tutti. Ho necessità di scattare una foto e salvarla su sd sotto una cartella da me creata. Se non esiste la cartella il programma deve crearla.

L'acquisizione funziona bene e se setto lìimmagine su un imageview, funziona tutto perfettamente.
Seguendo vari tutorial ho scritto un metodo per salvare il bitmap.

Codice (Java): [Seleziona]
String root = Environment.getExternalStorageDirectory().toString();
                    Toast.makeText(getApplicationContext(), root, 1).show();
                    File myDir = new File(root + "/myfolder");    
                    myDir.mkdirs();
                    Random generator = new Random();
                    int n = 10000;
                    n = generator.nextInt(n);
                    String fname = "Image-"+ n +".jpg";
                    File file = new File (myDir, fname);
                    if (file.exists ()) file.delete ();
                    try {
                           FileOutputStream out = new FileOutputStream(file);
                           bp.compress(Bitmap.CompressFormat.JPEG, 90, out);
                           out.flush();
                           out.close();

                    } catch (Exception e) {
                           e.printStackTrace();
                    }

il metodo "funziona", in quanto nessuna eccezione viene lanciata. Però la mia memoria esterna su moto g è in /emulated/0
Come raggiungere tale percorso?
e se avessi un altro smartphone? dovrei cambiare in /sdcard.

Chiedo aiuto
« Ultima modifica: 11 Giugno 2014, 11:29:04 CEST da tonno16 »