Usuario:ManuelRomero/DAW/moviles/NoTextingWD

= Contestdor Automático =

Componentes
Dos etiquetas

·        lMsg

·        lNuevaMsg

Caja de texto para cambiar el mensaje de respuesta y un botón para que el cambió tenga efecto

·        tNuevaMsg

·        bNuevaMsg

Objeto más especiales

Objeto que procesa el texto (Texting) y un objeto para almacenar la respuesta en la base de datos TinyDB

·        pMsg (procesa mensaje)

·        bDMsg(Base Datos Mensaje)

TextToSpeech es un objeto que lee el texto en voz alta, LocationSensor Para identificr la ubicción del teléfono

·        TTSPMsg

·        LSUbicacion

Contestar automáticamente la mensaje
Cuando el teléfono recibe un mensaje de texto se lanza el evento MessageReceived (Del objeto Texting)

Este evento tiene dos argumentos que le acompañan

1.     number numero de teléfono

2.     messageText el mensaje recibido

Con esto ya tenemos el teléfono al que queremos contestar y el mensaje que queremos que se lea en voz alta

Para enviar el mensaje tenemos de nuevo el objeto Texting  el método SendMessage,  previamente debemos indicar el número al que queremos enviar y el mensaje que queremos mandar  en las propiedades

·        PhoneNumber

·        Message

[[Image:PracticaContestador1.png]]1.3       Modificar el mensaje
Lo que queremos es que cuando hagamos un click se cambie el mensaje que automáticamente enviamos



Vemos como de forma intuitiva cuando hacemos un click cambiamos la propieda text del lRespuesta al contenido de la propiedad text de la caja de texto.

1.4       Guardar la respuesta personalizada en la base de datos
ahora se trata de que la respuesta al mensaje no se pierda cada vez que apagamos el teléfono sino que se mantenga

El objeto TinyBD se encarga de guardar información el la BD de Android

Tenemos dos funciones principales: (Almacenar y recuperar)

·        StoreValue

·        GetValue

El comportamiento deseado es que cada vez que el usuario cambie el mensaje se almacene en la base de datos, y cada vez que se arranque la aplicación se lea de la base de datos el mensaje. Vamos a ello:

Observar el tag. Es el nombre de campo para almacenar y recuperar la información. Para ponerlo debemos ir en la sección build-in a text y crear un elementos de texto.

1.5       Recuperar la respuesta personalizada
Queremos recuperar información cada vez que se inicia la aplicación.

App cuenta con un bloque especial cada vez que se inicia el programa

Screen.Initialize

En este caso debemos tener en cuenta varias situaciones que se pueden producir como que no haya información el la base de datos. vamos a realizar el proceso

Necesitamos crearnos una variable que inicialmente puede tener cualquier valor



Vemos que lo que hacemos es recuperar el contenido de la base de datos y en caso de que haya valor se lo asignamos al label de respuesta y si no lo dejamos para que tome el valor por defecto que tengo en nuestra aplicación.

1.6       Leer en voz alta los mensajes recibidos
Este tipo de acciones las realiza los objetos TextToSpeech que explota la funcionalidad que tiene android para leer mensajes en voz alta

Este objeto tiene un método llamado Speek  y necesita un argumento que es el texto que queremos que lea

Ahora falta decir cuando queremos que lea. Cuando ocurra el evento de que hemos recibido un mensaje

Vamos a implementar los bloques

Recordemos que los objetos que permites gestionar el mensaje es texting



Teníamos programado que cuando recibiéramos el mensaje contestara. Ahora vamos a añadir acciones para que lo lea en voz alta

Cuando recibamos el mensaje queremos hacer que lo lea y construimos el mensaje


 * estos bloques los agregamos y nos queda el bloque completo



1.7       Información sobre nuestra ubicación
Este tipo de funcionalidad es útil y a veces puede ser comprometida facilitar, pero vamos a usarla para el ejemplo que presentamos. Decir en qué posición estamos. Primero vamos a obtener esta información

Para ello usamos el componente LocationSensor el cual tiene la capacidad de interactuar con el GPS del teléfono

Este componente no siempre consigue detectar la ubicación. La aplicación debe responder al controlador de eventos locationChanged.n Cuando este evento ocurra guardaremos la infomación en una variable. Posteriormente incluiremos en el mensaje respuesta el valor de esta variable-



De esta forma ya tenemos la información de nuestra ubicación en la variable

1.8       Incluir la posición en el mensaje respuesta
Vamos a modificar el mensaje que hemos enviado incluyendo la información de la ubiación. Para ello hacemos un nuevo mensaje Nosotros teníamos este bloque para construir el mensaje

Ahora la parte de Message la vamos a modificar y el bloque final sería