lunedì 30 gennaio 2012

Scrivere dati su SD Card


Modificando il codice ritrovato qui e' possibile scrivere i dati su un file presente nella SD Card
In questo esempio, mettendo a True, l'attributo di FileWrite si mette la scrittura in Append in modo da accodare i risultati in fondo al file
---------------------------------------------------------------------------------------------------------------------------

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

        double lat = 12.55;
        double lon = 43.14;
        try {
            File root = Environment.getExternalStorageDirectory();
            if (root.canWrite()){
                File gpxfile = new File(root, "gpxfile.gpx");  //nome del file
                FileWriter gpxwriter = new FileWriter(gpxfile,true);
                BufferedWriter out = new BufferedWriter(gpxwriter);
                String currentDateTimeString = DateFormat.getDateInstance().format(new Date());
                String currentTimeString = new SimpleDateFormat("HH:mm:ss").format(new Date());
                out.write(currentTimeString+";"+lon+";"+lat+"\n"); // stringa da scrivere
               // a differenza di Python si puo' scrivere su file anche dati float senza effettuare una esplicita conversione in string
                out.close();
            }
        } catch (IOException e) {
       
        }
---------------------------------------------------------------------------------------------------------------------------
Per rendere il codice operativo bisogna impostare nel file Manifest.xml la seguente riga prima del tag <application>

---------------------------------------------------------------------------------------------------------------------------
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
---------------------------------------------------------------------------------------------------------------------------