Come creare un file su scheda SD con Android Developer
Introduzione
Il sistema operativo mobile Android è una piattaforma flessibile che permette agli sviluppatori di creare applicazioni capaci di scrivere file sia sulla memoria interna che su quella esterna. Scrivere sulla scheda SD del dispositivo è abbastanza semplice, ma è importante ottenere prima la posizione della directory per lo storage esterno sul file system. Prima di intraprendere questo compito, dovresti avere una conoscenza base di come costruire un'app Android e avrai bisogno di codice sorgente a cui aggiungere la funzione di output su file. Le righe di codice da aggiungere sono suddivise in tre sezioni o funzioni separate.
Istruzioni
-
Apri il codice sorgente
Apri il file sorgente della tua applicazione Android con un editor di testo o di programmazione.
-
Individua il punto di inserimento
Vai alla posizione nel codice sorgente dove vuoi chiamare la funzione che scrive un file sulla memoria esterna del dispositivo.
-
Controlla la scheda SD
Inserisci questa singola riga di codice per verificare la scheda SD:
File sdCard = Environment.getExternalStorageDirectory(); -
Imposta directory e nome file
Inserisci queste righe per impostare directory e nome file:
File dir = new File(sdCard.getAbsolutePath() + "/folder1/folder2"); dir.mkdirs(); File file = new File(dir, "example_file"); -
Personalizza percorso e nome
Sostituisci "/folder1/folder2" nel codice sopra con il percorso effettivo dove intendi salvare il file. Deve essere una posizione in cui salvi normalmente i file della tua applicazione. Cambia anche il valore "example_file" con il nome file reale che vuoi usare.
-
Scrivi il file
Inserisci la seguente riga per scrivere il file sulla scheda SD:
FileOutputStream f = new FileOutputStream(file); -
Compila e testa
Salva il file, compila e testa l'applicazione usando l'emulatore Android o il dispositivo fisico.
Permessi necessari
Non dimenticare di aggiungere nel file AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Best practice moderne
- Usa
Context.getExternalFilesDir()per directory private all'app (non richiede permessi da Android 4.4+). - Per file condivisi, usa
MediaStoreoStorage Access Framework. - Gestisci sempre le eccezioni
IOException.