// use internal storage directory (you don't need permission)
// path = "/data/user/0/<package>/files"
val path = this.getFilesDir()
// Create your directory:
val directory = File(path, "tmp")
directory.mkdirs()
// Then create your file:
val file = File(directory, "test.txt")
// Then you can write to it:
file.writeText("Prima riga\\n")
file.appendText("aggiungo una nuova riga!\\n")
val inputAsString = FileInputStream(file).bufferedReader().use { it.readText() }
Log.i("MainActivity", inputAsString)
// use external storage directory (you need permission)
// /storage/emulated/0/Android/data/<your package>/files
val path = this.getExternalFilesDir(null)
// Create your directory:
val directory = File(path, "tmp")
directory.mkdirs()
// Then create your file:
val file = File(directory, "test.txt")
// Then you can write to it:
file.writeText("Prima riga\\n")
file.appendText("aggiungo una nuova riga!\\n")
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
val inputAsString = FileInputStream(file).bufferedReader().use { it.readText() }
Log.i("MainActivity", inputAsString)
Viene usato per salvare semplici strutture dati e oggetti nella notazione Javascript Object Notaion (JSON), che è diventato un formato standard per lo scambio di dati.
E’ principalmente utilizzato per trasferire dati tra una web application e il server.
I file JSON sono leggeri, basati sul testo, leggibili da umani, ed editabili da un normalissimo editor.
Essa mette a disposizione un modo arbitrario di aggiungere file come txt, xml, html, fonts, audio, video all’interno dell’applicazione.
Se si prova ad aggiungere questi file nella cartella “res”, Android li tratterà come risorse e sarà impossibile ottenere il contenuto “raw”.
Se si vuole accedere ai dati nudi e crudi, la cartella “assets” è uno dei modi.
Un altro modo è creare una cartella res/raw
, ma quale modo è meglio?
assets
è meglio)
assets
: lo sviluppatore può nominare i file in qualunque modo (anche con spazi)res/raw
: i nomi dei file sono ristretti: possono esserci solo cartteri minuscoli, a-z, 0-9, o _