Curso Android: Envío de emails utilizando Android

Anuncio
Curso Android: Envío de emails utilizando Android
Inicio
Temas
Perfiles
Guías
Acerca de
Contacto
Búsqueda
Sobre el Autor
Adrian Catalán
Ingeniero en Sistemas,
catedrático universitario,
educador y desarrollador de
software, fundador del grupo de tecnologías de
Curso Android: Envío de emails utilizando Android
Google en Guatemala (GTUG), apasionado por
aplicaciones web (Ruby On Rails) y móviles
(Android) desde el 2011 un Elemental Geek.
Últimos artículos:
Free Stock Photos
Curso Android: Conectándonos con APIs de
Google
Dreamstime.com
Create a Free Account and Download
High Resolution Images for Free.
Curso Android: Trabajando con APIs (Facebook
y Twitter)
Curso Android: Reproducción de sonido en un
ciclo infinito
Curso Android: Trabajar con el acelerómetro
Más artículos de Adrian Catalán
En el capítulo 8 del Curso Android veremos cómo enviar emails utilizando Android la
aplicación de ejemplo que realizaremos nos permitirá colocar la información para un correo
electrónico (destinatario, asunto, contenido del correo, adjuntos) y luego enviarlo a través de
la aplicación de correo electrónico.
Es importante notar que el ejemplo debe ejecutarse en un teléfono o bien instalar una
aplicación para envío de emails en el emulador (por defecto no está instalada pero es
21.169 Lecturas
3 Comentarios
Archivado en: Tecnologías móviles, Android, curso
Movilidad 2.0 – buscando el genoma de las
Start-apps
Josh Jones y Dallas Kashuba fundadores
Dreamhost
relativamente simple). Queremos que al finalizar se vea así:
Notas importantes
Mexico y América Latina se prepara para recibir
a Geeksonaplane
Crear contenido para Twitter
El libre licenciamiento de obras
Herramientas analíticas para Redes Sociales
Herramientas para crear y organizar contenido
en Redes Sociales
Autogestión o gestión colectiva
¿Qué debe saber un Community Manager
sobre la marca?
La función del Community Manager
http://www.maestrosdelweb.com/editorial/curso-android-enviar-emails/[22/07/2013 02:01:37 p.m.]
Curso Android: Envío de emails utilizando Android
Limitaciones y excepciones al derecho de autor
En Argentina y Colombia, curso de desarrollo
rápido de apps web con Python y Django
Disposición inicial
En este caso, nuestra interfaz de usuario será muy sencilla por lo que no utilizaremos ningún
código base tampoco realizaremos ninguna configuración adicional.
Diseño
El diseño presenta los campos necesarios para el envío del mail dentro de un contenedor
global (en este caso utilizamos un LinearLayout) por cada fila tenemos otro contenedor que a
su vez dentro tiene 2 elementos: una
TextView
y un
EditText
eso se repite para la dirección de
correo del destinatario, el asunto y el cuerpo del correo.
Por último, se tiene una
CheckBox
para indicar si se desea enviar un adjunto (el ícono de la
aplicación). El XML complete del diseño es el siguiente:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation ="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:id="@+id/LinearLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation ="horizontal">
<TextView android:text="Destinatario"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtForEmail"></TextView>
<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="170dip"
android:id="@+id/etEmail">
</EditText>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation ="horizontal">
<TextView android:text="Asunto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtForSubject"></TextView>
<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="170dip"
android:id="@+id/etSubject">
</EditText>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout04"
http://www.maestrosdelweb.com/editorial/curso-android-enviar-emails/[22/07/2013 02:01:37 p.m.]
?
Curso Android: Envío de emails utilizando Android
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation ="horizontal">
<TextView android:text="Mensaje"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtForBody"></TextView>
<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="5"
android:width="300dip"
android:id="@+id/etBody">
</EditText>
</LinearLayout>
<CheckBox android:text="Enviar ícono adjunto"
android:id="@+id/chkAttachment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></CheckBox>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnSend"
android:text="Enviar"
android:width="150dip">
</Button>
</LinearLayout>
Agregando funcionalidad
Asociaremos todo el código del envío del email al evento de click sobre el botón “Enviar”:
1
2
3
4
5
6
Button btnSend = (Button) findViewById(R.id.btnSend);
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
?
Obtenemos primero los elementos del form con los datos el email (destinatario, asunto,
cuerpo del mail y adjunto):
1
2
3
4
5
// obtenemos los datos para el envío del correo
EditText etEmail = (EditText) findViewById(R.id.etEmail);
EditText etSubject = (EditText) findViewById(R.id.etSubject);
EditText etBody = (EditText) findViewById(R.id.etBody);
CheckBox chkAttachment = (CheckBox) findViewById(R.id.chkAttachment);
Luego construimos un
intent
?
que luego utilizaremos para levantar la Activity para el envío
del correo, este debe ser del tipo
ACTION_SEND ,
posteriormente indicamos cuál será el tipo de
dato a enviar.
1
2
3
4
// es necesario un intent que levante la actividad deseada
Intent itSend = new Intent(android.content.Intent.ACTION_SEND);
// vamos a enviar texto plano a menos que el checkbox esté marcado
itSend.setType("plain/text");
?
Colocamos todos los datos obtenidos del form, incluyendo el posible adjunto en caso de que
el CheckBox esté marcado.
01
02
03
04
05
06
07
08
09
10
11
12
13
// colocamos los datos para el envío
itSend.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{ etEmail.getText().toString()});
itSend.putExtra(android.content.Intent.EXTRA_SUBJECT, etSubject.getText().toString());
itSend.putExtra(android.content.Intent.EXTRA_TEXT, etBody.getText());
// revisamos si el checkbox está marcado enviamos el ícono de la aplicación como adjunto
if (chkAttachment.isChecked()) {
// colocamos el adjunto en el stream
itSend.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + getPackageName() + "/" +
R.drawable.icon));
// indicamos el tipo de dato
itSend.setType("image/png");
}
?
Por último iniciamos la Activity para el envío.
1
startActivity(itSend);
?
El código completo es el siguiente:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
Button btnSend = (Button) findViewById(R.id.btnSend);
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//obtenemos los datos para el envío del correo
EditText etEmail = (EditText) findViewById(R.id.etEmail);
EditText etSubject = (EditText) findViewById(R.id.etSubject);
EditText etBody = (EditText) findViewById(R.id.etBody);
CheckBox chkAttachment = (CheckBox) findViewById(R.id.chkAttachment);
//es necesario un intent que levante la actividad deseada
Intent itSend = new Intent(android.content.Intent.ACTION_SEND);
//vamos a enviar texto plano a menos que el checkbox esté marcado
itSend.setType("plain/text");
//colocamos los datos para el envío
itSend.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{ etEmail.getText().toString()});
itSend.putExtra(android.content.Intent.EXTRA_SUBJECT, etSubject.getText().toString());
itSend.putExtra(android.content.Intent.EXTRA_TEXT, etBody.getText());
http://www.maestrosdelweb.com/editorial/curso-android-enviar-emails/[22/07/2013 02:01:37 p.m.]
?
Curso Android: Envío de emails utilizando Android
22
23
24
25
26
27
28
29
30
31
32
33
34
//revisamos si el checkbox está marcado enviamos el ícono de la aplicación como adjunto
if (chkAttachment.isChecked()) {
//colocamos el adjunto en el stream
itSend.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + getPackageName() + "/" +
R.drawable.icon));
//indicamos el tipo de dato
itSend.setType("image/png");
}
//iniciamos la actividad
startActivity(itSend);
}
});
Descargar:
Puedes descargar el código de la aplicación completa y funcional en: Envío de emails
utilizando Android .
Conclusión
En esta ocasión hemos visto la forma de enviar un correo electrónico (incluyendo un adjunto
opcional) todo incluído en los extras a través de un intent utilizado para iniciar la Activity para
el envío del mail.
Siguiente capítulo: Trabajando con APIs (Facebook y Twitter) →
El logotipo de Android es compartido por Google bajo licencia Creative Commons por Atribución.
Twittear
1
Me gusta Me gusta
Ya no me gusta Me gusta
A ti y a 13 personas más les gusta esto.A 13
personas les gusta esto. Regístrate para ver
qué les gusta a tus amigos.
Capitulos de la Guía Android
1. Todo lo que necesitas para empezar
2. Construir un lector de feeds simple
3. UI en Android y aumentar la funcionalidad de un lector de feeds
4. Trabajado con imágenes (cámara y galería)
5. Grabación y reproducción de vídeo
6. Geolocalización y utilización de mapas de Google
7. Trabajar con el acelerómetro
8. Reproducción de sonido en un ciclo infinito
9. Envío de emails utilizando Android
10. Trabajando con APIs (Facebook y Twitter)
11. Conectándonos con APIs de Google
12. Descarga el Curso Android y aprende a desarrollar aplicaciones móviles
+ Ver todos los contenidos
Adrian Catalán para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo
Síguenos en:
@maestros |
Fan page
http://www.maestrosdelweb.com/editorial/curso-android-enviar-emails/[22/07/2013 02:01:37 p.m.]
Curso Android: Envío de emails utilizando Android
3
Comentarios
1
Danilo
Hola que tal, primero que todo felicitarte por los tutoriales, están
buenisimos!!!
Ahora a lo que me convoca a escribir… Al querer instalar el .APK en
mi celular me arroja un error que dice: “EROR DE ANALISIS – Se ha
producido un problema al analizar el paquete”. Ojalá me puedan
ayudar con esto.
De ante mano gracias.
21.06.2011 - 01:05
2
Carlos
Hola, me ha parecido muy interesante este tutorial. Quisiera
saber algo:
Cuando usted dice:
“Es importante notar que el ejemplo debe ejecutarse en un
teléfono o bien instalar una aplicación para envío de emails
en el emulador”
si lo voy a ejecutar en el emulador por tanto debería tener
instalada una aplicación como gmail en él u otra similar? si
es esto, sólo basta tenerla instalada y nada más, es sólo
cuestion de dar click en el botón “Enviar” ?
Muchas Gracias por la información
01.10.2011 - 10:25
3
Javier
Sí el intent es para llamar a un cliente mail que se tenga instalado en
el dispositivo. No hace la función de cliente mail.
Saludos
08.10.2011 - 08:40
Los comentarios de este post están cerrados. Si quieres seguir la discusión,
debatir, criticar, sugerir o expandir el tema te invitamos a hacerlo en tu propio
blog, en twitter o donde puedas publicar. No olvides enlazar a este post para que
sigamos la conversación y se genere un trackback.
← Movilidad 2.0 – buscando el genoma
de las Start-apps
Acerca de
Maestros del Web nace cuando intentamos traducir Webmaster
al Español. Nacimos orientados al diseño y desarrollo web. Hoy
Josh Jones y Dallas Kashuba
fundadores Dreamhost →
Nosotros
Preguntas Frecuentes | Créditos | Contacto | Feed RSS
Proyectos Foros del Web | 120 Segundos
Licencia CC del contenido | Política de privacidad
http://www.maestrosdelweb.com/editorial/curso-android-enviar-emails/[22/07/2013 02:01:37 p.m.]
Curso Android: Envío de emails utilizando Android
somos un espacio de apoyo para los entusiastas que participan
en proyectos en la red.
Legal
CMS
Leer más de Maestros del Web
http://www.maestrosdelweb.com/editorial/curso-android-enviar-emails/[22/07/2013 02:01:37 p.m.]
WordPress
Descargar