Estoy intentando crear un fichero de texto donde guardar valores del acelerómetro del móvil, pero no consigo poder guardar el fichero en la tarjeta SdCard del móvil.
Adjunto códigos:
Aquí parte del manifiesto, donde he puesto los permisos de escritura en la memoria externa del móvil
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.proyectocadencia">
<uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE" />
<application
Creo que eso esta todo bien, el problema viene con la creación de un fichero de texto, escribir sobre el y luego guardarlo en la tarjeta externa del móvil:
Código de creación de la ruta y fichero donde guardar mis datos:
private void creaEscritor(){
root = android.os.Environment.getExternalStorageDirectory();
// root = android.os.Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
tv.append("\nExternal file system root: "+root);
dir = new File (root.getAbsolutePath() + "/Proyecto");
// dir = new File ("/storage/extSdCard/Proyecto");
if(!dir.exists()) {
dir.mkdirs();
}
file = new File(dir, "ficheropruebas.txt");
}
Y aquí el código para escribir sobre el fichero de texto ya creado en el directorio seleccionado(se supone):
public void escribeFichero(float aceleracion){
try {
f = new FileOutputStream(file);
pw = new PrintWriter(f);
pw.println("Se ha detectado una modificacion del sensor en el timevent: " + ultima_medicion);
pw.println("se ha detectado una diferencia de aceleracion lineal de " + aceleracion);
pw.println("el numero de pedaladas es de " + pedaladas);
pw.flush();
pw.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.i(TAG, "******* Fichero no encontrado");
} catch (IOException e) {
e.printStackTrace();
}
tv.append("\n\nFile written to "+file);
}
Si alguien me puede echar una mano se lo agradecería, ya no se que hacer porque sin este archivo de texto para ver resultados no puedo seguir avanzando.
Gracias.