Buongiorno a tutti, ma quante domande ho da fare?! O_O
Sono arrivato a un buon punto della mia applicazione (un logger dei dati dei sensori accelerometrici), ora il mio problema è salvare i dati, ho creato un metodo per salvare su file che fa più o meno così:
public void Write(Context context, String data){
FileOutputStream fOut = null;
OutputStreamWriter osw = null;
try{
File file = new File("/sdcard/acclog.txt");
if(!file.exists() /*&& file.mkdir()*/) {
file = new File("/sdcard/acclog.txt");
if(!file.exists())
file.createNewFile();
}
fOut = openFileOutput("/sdcard/acclog.txt",MODE_APPEND);
osw = new OutputStreamWriter(fOut);
osw.write(data);
osw.flush();
//Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
e.printStackTrace();
//Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show();
}
finally {
try {
osw.close();
fOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}Inizialmente il path del file era solo: "acclog.txt" che se non erro dovrebbe salvare in /data/data/appname/files/ ma è molto più comodo per me che salvi sulla SD.
Ora: con il DDMS di Eclipse, non so perchè, non riesco a entrare nella cartella "data", clickandoci sopra semplicemente non succede niente

, quindi non posso vedere il file (so che salva perchè decommentando i Toast, essi appaiono), se qualcuno ha suggerimenti su cosa fare in questo caso sono ben accetti.
EDIT: novità: digitando
adb pull /data/data/com.example.android.acclogger/files/acclog.txt acclog.txt da terminale, l'output è questo:
failed to copy '/data/data/com.example.android.acclogger/files/acclog.txt' to 'acclog.txt': Permission denied. e utilizzando una read del file ho certezza che esiste e che venga scritto correttamente...
Secondariamente, ma più importante, vorrei salvare il file nella SD, come già detto, ma quando modifico il path del file come l'ho linkato, l'applicazione non parte nemmeno, dicendo che c'è stato un non ben specificato errore...
cercando in giro in internet ho trovato che si tratta di un problema di permessi e quindi ho aggiunto questa stringa nel Manifest dell'applicazione:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ma non ha cambiato niente...
l'applicazione è praticamente bella e che finita, mi manca solo di esaltarmi leggendo righe su righe di dati di accelerometro scritti su un file

a proposito, quando sarà finita se interessa creo un post con tutto il codice, in caso possa servire a qualcuno o solo per curiosità.

grazie a chiunque si interessi al mio caso umano
RI-EDIT: utilizzando il codice trovato nel link postato qui sotto, viene creata una cartella con il nome del file "*.txt" vuota. Si, avete capito bene, vuota

non so più veramente che pesci pigliare...ho dubbi esistenziali di ogni sorta...illuminatemi!!!
FINAL-EDIT: Il codice che uso al momento per salvare un file sulla memory card è il seguente:
private File sd = Environment.getExternalStorageDirectory();
private File f = f = new File(sd, "nome_file.txt");
public void write (String Data){
FileWriter fw = null;
BufferedWriter bw = null;
try{
fw = new FileWriter(f, true);
bw = new BufferedWriter(fw);
bw.write(Data);
bw.close();
fw.close();
//Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show();
}
catch (IOException e) {
e.printStackTrace();
//Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show();
}
}E funziona correttamente. Non ricordo più le tappe intermedie che mi ci hanno portato perchè nel frattempo ho fatto mille e mille (cit. Ing. Cane) altre cose...

Enjoy
p.s.: GRAZIE A TUTTI PER L'INTERESSE ALLA COSA.