logo
Bienvenido visitante. Para activar todas las funcionalidades, por favor Iniciar sesión o Registrarse.

Aviso

Icon
Error

Opciones
Ir a la última publicación
Davidmf8  
#1 Publicado : martes, 3 de diciembre de 2013 18:18:45(UTC)
Davidmf8

Posición: Advanced Member

Grupos: Registered
Registrado: 21/10/2013(UTC)
Mensajes: 39

Agradecimientos: 4 veces
Fue agradecido: 8 vez/veces in 6 publicación(es).
Muy buenas de nuevo!

Traigo una duda de como almacenar un documento de texto de un EditText y, en otra parte de la aplicación, leerlo y mostrarlo.
Os adjunto los codigos y os comento:

Almacenar documento:

Citar:
String horaLocal = new SimpleDateFormat("yyyMMdd_HHmmss", Locale.ROOT).format(new Date());
String ruta_nota = dir.getAbsolutePath() + "/" + "NOTA_" + horaLocal + ".txt";
File miNota = new File(ruta_nota);
try {
OutputStreamWriter archivo = new OutputStreamWriter(new FileOutputStream(miNota));
archivo.write(texto.getText().toString());
archivo.close();
} catch (IOException e) {}


Texto es mi EditText de su layout correspondiente. Ahora el mostrar:

Citar:
File nota = new File(rutaNota);
try{
InputStreamReader fin = new InputStreamReader(new FileInputStream(nota));
miNota.setText(fin.read());
fin.close();
} catch(Exception e){}


Sea miNota miTextView de su layout correspondiente. Cadaelemento son de layout diferente y activity's diferentes. El problema es que, al visualizarlo, no sevisualiza nada (en blanco). No se si el fallo es al escribir o leer. Las rutas de los ficheros estan bien, asi que eso no es. Comentar que es un edittext multiline, nose si habrá que almacenar linea a linea.

Gracias adelantadas. Saludos!
Davidmf8  
#2 Publicado : jueves, 5 de diciembre de 2013 16:57:10(UTC)
Davidmf8

Posición: Advanced Member

Grupos: Registered
Registrado: 21/10/2013(UTC)
Mensajes: 39

Agradecimientos: 4 veces
Fue agradecido: 8 vez/veces in 6 publicación(es).
Solucionado. A la hora de leer no lo hacia de forma adecuada ya que:

Citar:
InputStreamReader fin = new InputStreamReader(new FileInputStream(nota));
char[] texto = new char[1000];
fin.read(texto);
String textoFinal = new String(texto);
miNota.setText(textoFinal);
fin.close();


Ya que al metodo read hay que pasarle como argumento un vector de caracteres para que se almacene en algun lugar y como setText solo admite String, ese vector se convierte a un String.
admin  
#3 Publicado : martes, 10 de diciembre de 2013 22:23:39(UTC)
admin

Posición: Administration

Grupos: Administrators
Registrado: 07/10/2010(UTC)
Mensajes: 436
Hombre
Ubicación: España

Agradecimientos: 38 veces
Fue agradecido: 49 vez/veces in 48 publicación(es).
gracias por la auto-contestacion!! ;P
Un saludo,

Curso Completo GRATIS paso a paso de como programar Android
http://www.aprendeandroid.com
Usuarios navegando este tema
Guest (2)
Salto de foro  
No puedes iniciar nuevos temas en este foro.
No puedes responder a temas en este foro.
No puedes eliminar sus temas en este foro.
No puedes editar sus temas en este foro.
No puedes crear encuestas en este foro.
No puedes votar las encuestas en este foro.