Buenas hoy vamos hacer un ejercicio sencillo de como crear archivos de texto y guardarlo en la memoria externa de celular.
Al final quedara como una especie de agenda que nos servirá para guardar cualquier cosas que deseemos en un archivo de texto y luego la podremos leer.
Debemos agregar la siguiente linea a nuestro AndroidManifest.xml
<uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE” />
La estructura de nuestro activity_main.xml es la siguiente:
Y lo que contendrá nuestro MainActivity.java sera lo siguiente
MainActivity
public class MainActivity extends AppCompatActivity { private EditText et1; private EditText et2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et1=(EditText)findViewById(R.id.txtNombrar); et2=(EditText)findViewById(R.id.txtEscribir); } public void grabar(View v) { String nomarchivo = et1.getText().toString(); String contenido = et2.getText().toString(); try { File tarjeta = Environment.getExternalStorageDirectory(); Toast.makeText(this,tarjeta.getAbsolutePath(),Toast.LENGTH_LONG).show(); File file = new File(tarjeta.getAbsolutePath(), nomarchivo); OutputStreamWriter osw = new OutputStreamWriter( new FileOutputStream(file)); osw.write(contenido); osw.flush(); osw.close(); Toast.makeText(this, "Los datos fueron grabados correctamente", Toast.LENGTH_SHORT).show(); et1.setText(""); et2.setText(""); } catch (IOException ioe) { Toast.makeText(this, "No se pudo grabar", Toast.LENGTH_SHORT).show(); } } public void recuperar(View v) { String nomarchivo = et1.getText().toString(); File tarjeta = Environment.getExternalStorageDirectory(); File file = new File(tarjeta.getAbsolutePath(), nomarchivo); try { FileInputStream fIn = new FileInputStream(file); InputStreamReader archivo = new InputStreamReader(fIn); BufferedReader br = new BufferedReader(archivo); String linea = br.readLine(); String todo = ""; while (linea != null) { todo = todo + linea + " "; linea = br.readLine(); } br.close(); archivo.close(); et2.setText(todo); } catch (IOException e) { Toast.makeText(this, "No se pudo leer", Toast.LENGTH_SHORT).show(); } } }
Bueno ahora les dejo el enlace para que pueda descargar el ejercicio.
Hola soy Alex Céspedes fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!
Gracias
Seria bueno comentar el codigo, es una sugerencia
Hola, gracias por este tutorial, como dice Leonado si vas a crear un video para comentarlo, te pediría de paso si se puede ampliar, o crear uno nuevo de este estilo, me refiero a que en lugar de poner el nombre del archivo para recuperar, podrías hacerlo que muestre el contenido de una carpeta para poder seleccionar el archivo y cargarlo, pensando en lo útil que puede resultar este tutorial que has creado, puede llegar el día en que esa carpeta tenga muchos archivos y no nos acordemos del nombre que se dio, y como me has comentado en la otra página que se puede crear una carpeta en el raíz de la tarjeta SD para dejar los archivos, se podria crear una carpeta “Documentos” y dentro de esta una subcarpeta “Notas” para dejar aquí esos archivos con las notas que se creen, porque te digo en un SubCarpeta, porque puede que en otra parte de la aplicación podamos otra opción para crear notas, y estas nuevas notas se guarden en otra SubCarpeta diferente “Notas 2”, ¿esto se podría hacer?