Autore Topic: Problema scrittura SDcard e creazione cartella  (Letto 679 volte)

Offline supervanzo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Tab 2
  • Sistema operativo:
    Windows
Problema scrittura SDcard e creazione cartella
« il: 27 Luglio 2015, 15:51:35 CEST »
0
Salve a tutti,
sto cercando di salvare un'immagine nella sdcard, per cui volevo creare una cartella, nella quale inserire successivamente i file.
Purtroppo non riesco a creare la cartella (prova). Ho gia inserito i permessi di scrittura esterna sul manifest.
Tramite il toast sono risalito all'errore "/storage/sdcard0/prova/ open failed: ENOENT (No such file or directory)"

Cosa ho sbagliato? Il path?


Codice (Java): [Seleziona]
private void saveImage(Bitmap img, String name) {

        if (canReadFromExternalStorage()) {
            File folder = new File(Environment.getExternalStorageDirectory() + "/prova/");
            boolean success = true;
            if (!folder.exists()) {
                success = folder.mkdir();
            }
            if (success) {
                Toast.makeText(this, path + "successo", Toast.LENGTH_SHORT).show();
                //operazioni di salvataggio
            } else {
                Toast.makeText(this, path + "errore"+e.getMessage(), Toast.LENGTH_SHORT).show();
            }
        } else {
            Toast.makeText(this, "No permessi "+e.getMessage(), Toast.LENGTH_SHORT).show();
        }

Codice (Java): [Seleziona]
private boolean canReadFromExternalStorage() {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            return true;
        } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
            return true;
        } else {
            return false;
        }
    }

grazie!

Offline supervanzo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Tab 2
  • Sistema operativo:
    Windows
Re:Problema scrittura SDcard e creazione cartella
« Risposta #1 il: 29 Luglio 2015, 10:35:59 CEST »
0
Up! A nessuno è capitato?

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Re:Problema scrittura SDcard e creazione cartella
« Risposta #2 il: 29 Luglio 2015, 11:38:03 CEST »
0
dopo
Codice (Java): [Seleziona]
File folder = new File(Environment.getExternalStorageDirectory() + "/prova/");prova ad inserire
Codice (Java): [Seleziona]
folder.mkdirs();// ha il compito di creare una cartella nel caso non ci fosse
spero di esserti stato utile
Boyseez :-)

Offline supervanzo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Tab 2
  • Sistema operativo:
    Windows
Re:Problema scrittura SDcard e creazione cartella
« Risposta #3 il: 29 Luglio 2015, 14:18:05 CEST »
0
Ma l'ho gia fatto nella riga successiva:
- controllo se esiste
- altrimenti la creo

Codice (Java): [Seleziona]
 
if (!folder.exists()) { //Se la directory non esiste
     success = folder.mkdir(); //Creo la directory
}

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Problema scrittura SDcard e creazione cartella
« Risposta #4 il: 29 Luglio 2015, 14:19:21 CEST »
0
Puoi anche non metterlo nell'if perché quella istruzione crea la cartella se non c'è altrimenti va avanti


Inviato dal mio iPhone utilizzando Tapatalk
spero di esserti stato utile
Boyseez :-)

Offline supervanzo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Tab 2
  • Sistema operativo:
    Windows
Re:Problema scrittura SDcard e creazione cartella
« Risposta #5 il: 29 Luglio 2015, 15:18:23 CEST »
0
Ok, ho provato, ma continua a non creare la cartella e a dare errore. Consigli?

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Re:Problema scrittura SDcard e creazione cartella
« Risposta #6 il: 29 Luglio 2015, 15:19:40 CEST »
0
Inserisci il Log dell'errore


Inviato dal mio iPhone utilizzando Tapatalk
spero di esserti stato utile
Boyseez :-)

Offline pietroconti89

  • Utente normale
  • ***
  • Post: 164
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note 3 N9005
  • Sistema operativo:
    Windows / Mac OSX
Re:Problema scrittura SDcard e creazione cartella
« Risposta #7 il: 29 Luglio 2015, 18:07:14 CEST »
0
nel manifesto hai messo i permessi ?
Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

?

Offline supervanzo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Tab 2
  • Sistema operativo:
    Windows
Re:Problema scrittura SDcard e creazione cartella
« Risposta #8 il: 31 Luglio 2015, 18:04:15 CEST »
0
I permessi li avevo già inseriti nel manifest
Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

A chi fosse capitato sono comunque riuscito a risolvere usando la cartella Pictures pubblica di Android.
Codice (Java): [Seleziona]
File pictureFolder = Environment.getExternalStoragePublicDirectory(
                    Environment.DIRECTORY_PICTURES
            );
            File imagesFolder = new File(pictureFolder, "prova");
            if (!imagesFolder.exists()) {
                imagesFolder.mkdir();
            }


Grazie a tutti dei consigli!

« Ultima modifica: 31 Luglio 2015, 18:08:29 CEST da supervanzo »