Blog para desarrollo de aplicaciones en Android, aprende paso a paso como crear aplicaciones.

Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación para mostrarle publicidad personalizada y realizar análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más

Como escribir y leer un archivo de Texto en Android

Como escribir y leer un archivo de Texto en Android

Hola amigos comenzaremos con este simple tutorial en el cual les explicare como crear una aplicación que nos permite escribir y leer un archivo de texto en nuestra aplicación Android.
Como escribir y leer un archivo de Texto en Android

Como crear un Proyecto en Android Studio

Vamos a crear un proyecto en Android estudio para poder continuar con este ejemplo vamos a seguir el siguiente link. (Aquí).

Como escribir y leer un archivo de Texto en Android

Diseño de nuestra aplicación Android

Vamos a crear el diseño para nuestra aplicación para tener un poco claro que controles vamos a utilizar para escribir y leer el archivo de texto.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <RelativeLayout
        android:padding="10dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/txtInput"
                android:hint="Escribe algo que almacenar"
                android:gravity="top" />

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <Button
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Guardar"
                    android:layout_weight="1"
                    android:id="@+id/btnSave"
                    android:layout_below="@+id/txtInput" />

                <Button
                    android:layout_weight="1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Leer"
                    android:id="@+id/btnRead"
                    android:layout_below="@+id/txtInput"
                    android:layout_toRightOf="@+id/btnSave"
                    android:layout_toEndOf="@+id/btnSave" />
            </LinearLayout>

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:inputType="textMultiLine"
                android:ems="10"
                android:id="@+id/txtContent"
                android:layout_alignRight="@+id/txtInput"
                android:layout_alignEnd="@+id/txtInput"
                android:scrollIndicators="bottom|right"
                android:editable="false" />
        </LinearLayout>

    </RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

El resultado visual nos quedaría de la siguiente forma.

Como escribir y leer un archivo de Texto en Android

Y continuaremos con la siguiente parte poner mucha atención a cada linea de código siguiente para entender bien el ejemplo.

Código para escribir y leer un archivo de texto en Android

Vamos a crear el código para nuestra aplicación primeramente comenzaremos creando una clase a la cual llamaremos ArchivoHelper.
Como escribir y leer un archivo de Texto en Android

Y escribiremos el siguiente código.


import android.content.Context;
import android.os.Environment;
import android.util.Log;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class ArchivoHelper {

    final static String fileName = "data.txt";
    final static String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/instinctcoder/readwrite/" ;
    final static String TAG = ArchivoHelper.class.getName();
// Leer información del archivo de Texto
    public static  String ReadFile( Context context){
        String line = null;
        try {
            FileInputStream fileInputStream = new FileInputStream (new File(path + fileName));
            InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            StringBuilder stringBuilder = new StringBuilder();
            while ( (line = bufferedReader.readLine()) != null )
            {
                stringBuilder.append(line + System.getProperty("line.separator"));
            }
            fileInputStream.close();
            line = stringBuilder.toString();

            bufferedReader.close();

        }
        catch(FileNotFoundException ex) {
            Log.d(TAG, ex.getMessage());
        }
        catch(IOException ex) {
            Log.d(TAG, ex.getMessage());
        }
        return line;
    }
// Salvar información en el archivo de text
    public static boolean saveToFile( String data){
        try {
            new File(path  ).mkdir();
            File file = new File(path+ fileName);
            if (!file.exists()) {
                file.createNewFile();
            }
            FileOutputStream fileOutputStream = new FileOutputStream(file,true);
            fileOutputStream.write((data + System.getProperty("line.separator")).getBytes());

            return true;
        }  catch(FileNotFoundException ex) {
            Log.d(TAG, ex.getMessage());
        }  catch(IOException ex) {
            Log.d(TAG, ex.getMessage());
        }
        return  false;
    }

}

Y por ultimo abriremos nuestra clase MainActivity para terminal con el siguiente código.

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    Button btnRead , btnSave;
    EditText txtInput;
    TextView txtContent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtContent = (TextView) findViewById(R.id.txtContent);
        txtInput = (EditText) findViewById(R.id.txtInput);

        btnRead = (Button) findViewById(R.id.btnRead);
        btnRead.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txtContent.setText(ArchivoHelper.ReadFile(MainActivity.this));
            }
        });

        btnSave = (Button) findViewById(R.id.btnSave);
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (ArchivoHelper.saveToFile( txtInput.getText().toString())){
                    Toast.makeText(MainActivity.this,"Saved to file",Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(MainActivity.this,"Error save file!!!",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
   
}

Y por ultimo para que estas acciones funciones deberemos añadir el siguiente permiso en nuestro archivo AndroidManifest

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

Y luego con esto finalizamos.

Como crear un emulador AVD en Android(Aquí)

Con esto podremos ver en ejecución el resultado de nuestra aplicación.

Descargar


Android Studio - Curso Español

Android Studio - Curso Español

No hay comentarios:

Publicar un comentario

x

Registrate!

Curso Android Español

Curso Kotlin Español

eBook Free Android Studio

Noticias y Eventos

¡Directamente a tu INBOX!

Le enviaremos nuestros recursos gratis. Para obtener nuestro contenido nuevo, únase a nuestra comunidad. No te molestaremos enviando información inútil. ¡No te pierdas ninguna actualización, mantente conectado! Recuerda verificar tu correo electronico.

Ingrese su dirección de correo electrónico:

Entregado por FeedBurner