Simple formulario email en android

Hola colegas hoy veremos como hacer un simple formulario email en android, la idea de este tutorial es que podamos aplicarlo en algún  proyecto de forma fácil, hagamos una idea imaginemos que tenemos un proceso por el cual requiera enviarse un correo después de finalizar dicho proceso enviándose datos, si no contamos con un gestor de correos por SMTP por ejemplo seria bueno que nuestra aplicación le de la opción de que el usuario pueda elegir el cliente de correo que mas prefiera como se ve en este ejemplo.

 

Como enviar correos por medio de un formulario en android

 

enviar correo en android

Empezaremos por crear el modo gráfico como se muestra en la imagen de arriba para eso les dejo el siguiente código de nuestro activity_main:

 

activity_main

 

<RelativeLayout
    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"
    >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ePara"
        android:layout_alignStart="@+id/textView"
        android:layout_marginBottom="19dp"
        app:srcCompat="@drawable/email" />

    <Button
        android:id="@+id/btnEnviar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="64dp"
        android:text="ENVIAR" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/ePara"
        android:layout_alignBottom="@+id/ePara"
        android:layout_alignStart="@+id/textView2"
        android:text="Para:"
        android:textSize="18sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/eMensaje"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/btnEnviar"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="72dp"
        android:ems="10"
        android:inputType="textLongMessage">

    </EditText>


    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/eMensaje"
        android:layout_alignParentStart="true"
        android:text="Mensaje:"
        android:textSize="18sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/eAsunto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_centerHorizontal="true"
        android:ems="10"
        android:inputType="textEmailSubject" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignEnd="@+id/TextView01"
        android:layout_centerVertical="true"
        android:text="Asunto:"
        android:textSize="18sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/ePara"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/eAsunto"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="13dp"
        android:ems="10"
        android:inputType="textEmailAddress" />

</RelativeLayout>

Les saldrá un error debido a que tendrán que guardar una imagen en la carpeta drawable con el nombre de email y debe estar en formato png

 

MainActivity

 

public class MainActivity extends AppCompatActivity {

    EditText para, asunto, mensaje;
    Button enviar;
    String sPara, sAsunto, sMensaje;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        para = (EditText) findViewById(R.id.ePara);
        asunto = (EditText) findViewById(R.id.eAsunto);
        mensaje = (EditText) findViewById(R.id.eMensaje);

        enviar = (Button) findViewById(R.id.btnEnviar);

        enviar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                sPara = para.getText().toString();
                sAsunto = asunto.getText().toString();
                sMensaje = mensaje.getText().toString();


                Intent email = new Intent(Intent.ACTION_SEND);
                email.putExtra(Intent.EXTRA_EMAIL, new String[]{ sPara});
                email.putExtra(Intent.EXTRA_SUBJECT, sAsunto);
                email.putExtra(Intent.EXTRA_TEXT, sMensaje);

                //necesita esto para solicitar solo al cliente de correo electrónico
                email.setType("message/rfc822");

                startActivity(Intent.createChooser(email, "Elija el cliente de correo electrónico :"));
            }
        });
    }
}

 

Este ejercicio al momento de enviar llamara a todos tus clientes de mensajería para que puedas enviar dicho correo como se muestra en las siguiente imagenes.

 

 

 

 

 

 

 

 

 

 

 

A continuación les dejo el link de la descarga aquí.

Password: www.androfast.com

0

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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

WhatsApp chat