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
1.2 Comportamiento
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
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