Este capítulo te guía a través
de la creación de Respuesta Automática a mensajes de
Texto, mientras se conduce.
Reproduce en voz alta los mensajes de texto e incluso envía
información sobre la localización, como parte del texto
automatizado. La aplicación demuestra cómo puedes
controlar
Algunas de las excelentes características de un teléfono con Android, incluyendo mensajes de texto SMS, texto a voz, Datos persistentes, y detección de localización por GPS.
Algunas de las excelentes características de un teléfono con Android, incluyendo mensajes de texto SMS, texto a voz, Datos persistentes, y detección de localización por GPS.
Lo que aprenderás
Esta es una aplicación más compleja que las de los capítulos
anteriores, por lo que la construirá una función a la vez,
comenzando con el mensaje de respuesta automática. Aprenderás
acerca de:
acerca de:
- El componente de mensajes de texto para enviar y procesar textos recibidos.
- Un formulario de entrada para enviar el mensaje de respuesta personalizado.
- El componente de la base de datos TinyDB para guardar el mensaje personalizado incluso después de La aplicación se cierre
- El evento Screen.Inicializar para cargar la respuesta personalizada cuando la aplicación
lanza. - El componente TextoAVoz para hablar textos en vozs alta.
- El componente SensorDeUbicacion para informar la ubicación actual del conductor.
Componentes
Tipo de componente
|
Nombre
|
Propósito
|
Etiqueta
|
etExplicacion
|
Permite que el usuario sepa como funciona la aplicación |
Etiqueta
|
etRespuesta
|
La respuesta que será enviada de forma automática cuando se reciba un mensaje |
Caja de Texto
|
ctNuevaRespuesta
|
El usuario ingresará la respuesta automática, aquí |
Boton
|
btnActualizaRespuesta
|
El usuario lo utilizará para actualizar la respuesta. |
EnviarTexto
|
EnviarTexto1
|
Envía el mensaje de texto |
TinyDB
|
TinyDB1
|
Almacena las respuestas en una base de datos |
TextoAVoz
|
TextoAVoz1
|
Lee el texto en voz alta |
SensorDeUbicacion
|
SensorDeUbicacion1
|
Permite saber la ubicación del celular |
Establezca
las propiedades de los componentes de la siguiente manera:
- Establezca el Texto de etExplicacion en "El texto a continuación se enviará en respuesta a todos los SMS recibidos mientras ésta aplicación se está ejecutando".
- Establezca el texto de etRespuesta en "Estoy conduciendo en este momento, me pondré en contacto con usted a la brevedad.”. Compruebe su propiedad negrita.
- Establezca el texto de ctNuevaRespuesta en “”. (Esto deja el cuadro de texto en blanco para la entrada del usuario)
- Establezca la Sugerencia (pista) de ctNuevaRespuesta en "Ingresar nuevo texto de respuesta".
- Establezca el Texto de btnActualizaRespuesta en "Modificar respuesta".
Modifica
el ajuste de los componentes para que sean legibles y se ajusten
estéticamente a tus deseos.
Responder un texto automáticamente
Personalizando la respuesta
Almacenando la respuesta de forma Permanente
En el mismo bloque anterior, agregamos el procedimiento para
almacenar los datos de forma persistente en la base de datos y una
etiqueta que nos permitirá recuperar posteriormente los datos
guardados.
Recuperando la respuesta personalizada, desde la base de datos
Cuando
la aplicación es ejecutada, se dispara este evento (screen1 –
Inicializar). Recuperamos la respuesta personalizada desde la base de
datos
Leyendo el mensaje de texto en voz alta
Para poder leer un mensaje de texto, llamaremos a la función
TextoAVoz. La agregaremos al bloque que trabajamos al comienzo
(enviarTexto1.RecibirMensaje)
En
el texto a leer, usaremos como entrada del procedimiento, el
mensajeDeTexto recibido. Si dejamos el bloque de este modo, sólo nos
leera el mensaje y no sabremos quien lo envio. Podemos modificar el
texto a reproducir, agregando el texto “Mensaje recibido de”,
el numero que nos envia el mensaje, el texto “El mensaje es”
y el mensaje recibido.
Para poder hacerlo, utilizamos el bloque unir que se encuentra en los
bloques de texto.
Una vez aplicados los cambios, el bloque quedaría así
Para agregar mas cadenas al bloque unir, debes hacer clic en el
engranaje y en la ventana emergente arrastrar el bloque cadena (que
se encuentra solo), dentro del bloque unir
Agregando la Información de localización a la respuesta personalizada
Utilizaremos una variable ultimaLocalizacionConocida
y la inicializaremos con desconocida.
Luego cada vez que la posición del celular se modifique,
actualizaremos la ubicación.
Posteriormente
en el bloque de EnviarTexto1, agregaremos la opción de que envíe
nuestra ubicación, con la dirección en la que estamos.
Algunas
variaciones de esta aplicación que podemos explorar son:
- Una versión que le permita al usuario definir respuestas personalizadas para una números de teléfono en particular. Deberá agregar bloques condicionales (si) que verifiquen esos números.
- Una versión que envíe respuestas personalizadas en función de si el usuario está dentro Ciertos límites de latitud / longitud. En una ubicación predeterminada, como el club, la escuela, o el lugar que tu decidas, la respuesta sea "Carlos está en (la ubicación que decidiste) y no puede enviar mensajes de texto en este momento".
- Una versión que haga sonar una alarma cuando se reciba un texto de un número en una
Lista de "notificaciones".
En el siguiente enlace puedes descargar el archivo PDF
Comentarios