anderson-0812 / Bluetooth_activar_desactivar

En este proyecto estamos verificando si el dispositivo tiene bluetooth y su estado, en caso de que no lo tenga corta el flujo y desactiva el boton, caso contrario verifica su estado y habilita el boton para que el usuario pueda activarlo o desactivarlo segun el estado actual, posteriormente se hara q busque dispositivos y los liste y tambien que el dispositivo pase a modo visible, ademas de realizar la conexion entre dos dispositivos y medir su distancia
0 stars 0 forks source link

Conectar con un dispositivo bluetooth #1

Open anderson-0812 opened 8 years ago

anderson-0812 commented 8 years ago

Luego de tener el listado de dispositivos visibles cercanos lograr realizar la conexión con uno de ellos

Siempre hay un servidor y un cliente es decir el que pide la conexion y el que acepta y la establece, ojo: ambos pueden hacer de cliente y servidor debido a que una vez establecida la conexión ambos reciben y envian datos links ayuda: https://danielggarcia.wordpress.com/2013/10/23/bluetooth-iii-el-esquema-cliente-servidor/ https://danielggarcia.wordpress.com/2013/10/26/bluetooth-iv-creando-el-hilo-de-conexion/ https://danielggarcia.wordpress.com/2013/10/26/bluetooth-iv-creando-el-hilo-de-conexion/

anderson-0812 commented 8 years ago

Recibiendo datos

A continuación codificaremos el comportamiento que se espera del hilo al invocar su método start(). Éste consistirá en un bucle que mantendrá al hilo en un bucle infinito realizando dos operaciones: mantenerse a la espera de datos en el flujo de entrada y, en el momento en el que se reciban datos, utilizar un Handler para enviárselos a la capa de interfaz, volviendo a comenzar el proceso.

anderson-0812 commented 8 years ago

Enviando datos

Una vez que tenemos codificado el comportamiento esperado a la hora de leer el flujo de entrada, escribiremos un método que se encargue de la segunda parte de la comunicación: la escritura.

anderson-0812 commented 8 years ago

Usando un handler para la comunicación

Un Handler tiene dos funciones principales: programar mensajes que serán ejecutados en algún momento en el futuro o encolar una acción que será ejecutada en un hilo distinto al actual, que es el caso que nos ocupa

handler.obtainMessage(MSG_LEER, // Message.what (int) bytes, // Message.arg1 (int) -1, // Message.arg2 (int) buffer).sendToTarget(); // Message.obj (byte[]) Por lo tanto, el parámetro what definirá el tipo de mensaje, el parámetro arg1 el número de bytes que se han leido y el parámetro obj el array de bytes con el mensaje. En este caso, el parámetro arg2 no se utiliza. Lo que haremos será filtrar por el tipo de mensaje y realizar en cada caso las acciones deseadas. Lo que haremos será mostrar el mensaje recibido en un TextView y, en el caso de que se reciba información de que se ha enviado un mensaje, mostrar una notificación por el Toast.