SlideShare a Scribd company logo
1 of 9
GESTIONE FILE 
FILE SYSTEM & SD CARD
GESTIRE I FILE 
Android permette di gestire i file sia su file system locale che su SD card e sono file generalmente 
accessible dalla app che li ha creati 
I casi d’uso sono in genere: 
 R/W di informazioni su file system locale 
 R/W su SD card 
 Lettura file statico da APK
JAVA NIO 
 Dalla versione 1.4 di java esiste oltre allo stream è stata aggiunta la possibilità di lavorare con 
gi buffer. 
 Tramite NIO è possibile leggere e scrivere dati da e verso fonti dati in modo piu efficiente. 
 Android puo usare le nuove API NIO tramite il package java.nio
FILE SYSTEM LOCALE 
Android permette di gestire i file tramite le librerie standard di Java. 
All’interno di un’activity si possono ottenere riferimenti ai file da gestire tramite: 
Public abstract FileInputStream openFileInput(String name) 
Public abstract FileOutputStream openFileOutput(String name,int mode) 
Bisogna specificare nel caso della scrittura il modo. Le possibilità gestite dal context dell’app sono: 
MODE_PRIVATE ACCESSIBILE SOLO DALL’APP CHE L’HA CREATA 
MODE_WORLD_READABLE ACCESSIBILE AD ALTRE APP IN LETTURA 
MODE_WORLD_WRITABLE ACCESSIBILE AD ALTRE APP IN SCRITTURA 
MODE_APPEND PERMETTE DI APPENDERE LE INFO INVECE DI SUSTITUIRE IL CONTENUTO
LETTURA DA FILE 
 Esempio di codice 
FileInputStream fis = new FileInputStream(new File(FILE_PATH)); 
DataInputStream dis = new DataInputStream(fis); 
String txt = dis.readUTF(); 
dis.close(); 
 Quando android crea un file lo crea nella path costruita in questo modo: 
/data/data/<package_App>/files/<nome_file>
ESEMPIO PER LA SCRITTURA DI UN FILE 
FileOutputStream fos = openFileOutput(FILE_PATH,mode); 
DataOutputStream dos = new DataOutpputStream(fos); 
dos.writeUTF(«testo_da_scrivere»); 
dos.close(); 
ESERCIZIO 
1. Creare una activity che prenda in ingresso dati input dall’utente e salvi tutto sul file 
2. Creare una activity che dia la possibilità di gestire il contenuto del file.
GESTIRE SD CARD 
 L’SD oramai è presente in quasi tutti idispositivi e possiede una discreta dimensione (Alcune sono 
anche di 32 Mb) 
 I File si trovano sotto la directory /sdcard 
 Leggere un file da SD non è tanto differente da leggere i file nel modo gia visto 
 Per poter leggere o scriver su SD basta usare il codice seguente sostitutivo agli esempi precedenti. 
File sdcardDir = Environment.getExternalStorageDirectory(); 
File file = new File(sdcardDir,FILE_PATH); 
ATTENZIONE: dato che stiam oscrivendo al difuori della nostra app abbiamo necessità dei permessi 
ovvero android.permission. WRITE_EXTERNAL_STORAGE attraverso il tag <user-permissions>
C’È LA SD CARD? 
import android.os.Environment; 
String state = Environment.getExternalStorageState(); // Indica se presente l’’sd 
Environment.MEDIA_MOUNTED 
Environment.MEDIA_MOUNTED_READ_ONLY 
ESERCIZIO: Creare una classe Wrapper per la gestione dell’SD Card
LEGGERE DA APK 
 Con android è possibile leggere contenuti dall’interno della nostra APK 
 Per usufruiire della possibilità di avere file all’interno dell’APK e usarli per leggere dobbiamo 
seguire semplici pasi ovvero: 
1. Inserire i file nella cartlla /res/raw 
2. Usare il metodo public InputStream openRawResource(int id) che si trova nella classe Resources che si 
ottiene da getResources() dell’activity 
3. A questo punto possiamo leggere ed elaborare il contenuto

More Related Content

Similar to Gestione file su android

Deftcon 2014 - Mattia Epifani & Claudia Meda - Windows 8 forensics
Deftcon 2014 - Mattia Epifani  & Claudia Meda - Windows 8 forensicsDeftcon 2014 - Mattia Epifani  & Claudia Meda - Windows 8 forensics
Deftcon 2014 - Mattia Epifani & Claudia Meda - Windows 8 forensicsDeft Association
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecmedoardo fraioli
 
Alfresco System Administrator
Alfresco System AdministratorAlfresco System Administrator
Alfresco System AdministratorMirco Leo
 
Lezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALE
Lezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALELezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALE
Lezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALEGianluigi Cogo
 
Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxAlex Palesandro
 
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Walter Volpi
 
WhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessiWhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessiMarco Gasparetto
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziareSalvatore Paone
 
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeft Association
 
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxSandro Rossetti
 
Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaMarcello Teodori
 
I metadati per il catalogo nazionale Open Data DATI.GOV.IT - Conferenza Open...
I metadati per il catalogo nazionale Open Data  DATI.GOV.IT - Conferenza Open...I metadati per il catalogo nazionale Open Data  DATI.GOV.IT - Conferenza Open...
I metadati per il catalogo nazionale Open Data DATI.GOV.IT - Conferenza Open...Costantino Landino
 
Motori di ricerca per cercare file in Linux
Motori di ricerca per cercare file in LinuxMotori di ricerca per cercare file in Linux
Motori di ricerca per cercare file in LinuxRoberto Marmo
 

Similar to Gestione file su android (20)

Deftcon 2014 - Mattia Epifani & Claudia Meda - Windows 8 forensics
Deftcon 2014 - Mattia Epifani  & Claudia Meda - Windows 8 forensicsDeftcon 2014 - Mattia Epifani  & Claudia Meda - Windows 8 forensics
Deftcon 2014 - Mattia Epifani & Claudia Meda - Windows 8 forensics
 
Google Drive in pillole
Google Drive in pilloleGoogle Drive in pillole
Google Drive in pillole
 
Presentazione java7
Presentazione java7Presentazione java7
Presentazione java7
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecm
 
Alfresco System Administrator
Alfresco System AdministratorAlfresco System Administrator
Alfresco System Administrator
 
Lezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALE
Lezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALELezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALE
Lezione 7 del 21 febbraio 2012 - CLOUD STORAGE PER USO PERSONALE
 
Lezione corso Base GNU/Linux
Lezione corso Base GNU/LinuxLezione corso Base GNU/Linux
Lezione corso Base GNU/Linux
 
Lezione Android prima parte
Lezione Android prima parteLezione Android prima parte
Lezione Android prima parte
 
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
Master Informatica del Testo – Edizione elettronica - Arezzo - 2012
 
WhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessiWhyMCA12 - Android Tools e la gestione di progetti complessi
WhyMCA12 - Android Tools e la gestione di progetti complessi
 
Drupal - per chi vuole iniziare
Drupal - per chi vuole iniziareDrupal - per chi vuole iniziare
Drupal - per chi vuole iniziare
 
Service Backup Online
Service Backup OnlineService Backup Online
Service Backup Online
 
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
 
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT LinuxDeftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
Deftcon 2012 - Marco Giorgi - Acquisizione di memorie di massa con DEFT Linux
 
Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con Java
 
couchbase mobile
couchbase mobilecouchbase mobile
couchbase mobile
 
I metadati per il catalogo nazionale Open Data DATI.GOV.IT - Conferenza Open...
I metadati per il catalogo nazionale Open Data  DATI.GOV.IT - Conferenza Open...I metadati per il catalogo nazionale Open Data  DATI.GOV.IT - Conferenza Open...
I metadati per il catalogo nazionale Open Data DATI.GOV.IT - Conferenza Open...
 
Corso linux base
Corso linux baseCorso linux base
Corso linux base
 
Motori di ricerca per cercare file in Linux
Motori di ricerca per cercare file in LinuxMotori di ricerca per cercare file in Linux
Motori di ricerca per cercare file in Linux
 
Py a4 python-file
Py a4 python-filePy a4 python-file
Py a4 python-file
 

Gestione file su android

  • 1. GESTIONE FILE FILE SYSTEM & SD CARD
  • 2. GESTIRE I FILE Android permette di gestire i file sia su file system locale che su SD card e sono file generalmente accessible dalla app che li ha creati I casi d’uso sono in genere:  R/W di informazioni su file system locale  R/W su SD card  Lettura file statico da APK
  • 3. JAVA NIO  Dalla versione 1.4 di java esiste oltre allo stream è stata aggiunta la possibilità di lavorare con gi buffer.  Tramite NIO è possibile leggere e scrivere dati da e verso fonti dati in modo piu efficiente.  Android puo usare le nuove API NIO tramite il package java.nio
  • 4. FILE SYSTEM LOCALE Android permette di gestire i file tramite le librerie standard di Java. All’interno di un’activity si possono ottenere riferimenti ai file da gestire tramite: Public abstract FileInputStream openFileInput(String name) Public abstract FileOutputStream openFileOutput(String name,int mode) Bisogna specificare nel caso della scrittura il modo. Le possibilità gestite dal context dell’app sono: MODE_PRIVATE ACCESSIBILE SOLO DALL’APP CHE L’HA CREATA MODE_WORLD_READABLE ACCESSIBILE AD ALTRE APP IN LETTURA MODE_WORLD_WRITABLE ACCESSIBILE AD ALTRE APP IN SCRITTURA MODE_APPEND PERMETTE DI APPENDERE LE INFO INVECE DI SUSTITUIRE IL CONTENUTO
  • 5. LETTURA DA FILE  Esempio di codice FileInputStream fis = new FileInputStream(new File(FILE_PATH)); DataInputStream dis = new DataInputStream(fis); String txt = dis.readUTF(); dis.close();  Quando android crea un file lo crea nella path costruita in questo modo: /data/data/<package_App>/files/<nome_file>
  • 6. ESEMPIO PER LA SCRITTURA DI UN FILE FileOutputStream fos = openFileOutput(FILE_PATH,mode); DataOutputStream dos = new DataOutpputStream(fos); dos.writeUTF(«testo_da_scrivere»); dos.close(); ESERCIZIO 1. Creare una activity che prenda in ingresso dati input dall’utente e salvi tutto sul file 2. Creare una activity che dia la possibilità di gestire il contenuto del file.
  • 7. GESTIRE SD CARD  L’SD oramai è presente in quasi tutti idispositivi e possiede una discreta dimensione (Alcune sono anche di 32 Mb)  I File si trovano sotto la directory /sdcard  Leggere un file da SD non è tanto differente da leggere i file nel modo gia visto  Per poter leggere o scriver su SD basta usare il codice seguente sostitutivo agli esempi precedenti. File sdcardDir = Environment.getExternalStorageDirectory(); File file = new File(sdcardDir,FILE_PATH); ATTENZIONE: dato che stiam oscrivendo al difuori della nostra app abbiamo necessità dei permessi ovvero android.permission. WRITE_EXTERNAL_STORAGE attraverso il tag <user-permissions>
  • 8. C’È LA SD CARD? import android.os.Environment; String state = Environment.getExternalStorageState(); // Indica se presente l’’sd Environment.MEDIA_MOUNTED Environment.MEDIA_MOUNTED_READ_ONLY ESERCIZIO: Creare una classe Wrapper per la gestione dell’SD Card
  • 9. LEGGERE DA APK  Con android è possibile leggere contenuti dall’interno della nostra APK  Per usufruiire della possibilità di avere file all’interno dell’APK e usarli per leggere dobbiamo seguire semplici pasi ovvero: 1. Inserire i file nella cartlla /res/raw 2. Usare il metodo public InputStream openRawResource(int id) che si trova nella classe Resources che si ottiene da getResources() dell’activity 3. A questo punto possiamo leggere ed elaborare il contenuto