Author Topic: Control de un pulsometro bluetooth - aprendiendo con android.  (Read 23573 times)

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Hola,

antes de nada, soy novato total en android, hace años que no toco java y lo que hice en su dia fue modificar aplicaciones ya hechas. Pero bueno, voy aprendiendo sobre la marcha :) .. mirando muchos ejemplos, la pagina de developers de android esta muy bien ;)

estoy haciendo una app que sirve para leer los datos de un pulsometro bluetooth. Leo bien los datos del dispositivo bluetooth, esa parte la tengo controlada. Estuve estudiando el ejemplo del Bluetooth Chat que viene con el SDK y la verdad que me gusto mucho como lo implementan y segui el mismo metodo. Consta de dos hilos, uno para realizar la conexion con el pulsometro y otro para la lectura de datos del pulsometro.

En el activity principal voy recibiendo los datos y ahora mismo simplemente los presento por pantalla. Estoy empezando como quien dice, no tengo nada de interface de usuario, simplemente presento datos por pantalla a modo de log para ver que la comunicacion y lectura de datos me va bien. Pero bueno, antes de continuar pues queria preguntar a ver si alguien me da alguna idea.

En la app final no solo presentare datos por pantalla, tambien ire guardando datos, para presentar al usuario un resumen final de:

- Pusaciones minimas, maximas y media total.
- Tiempo total del entrenamiento.
- Consumo de calorias.
- Tiempo total dentro de la zona de trabajo.
- ....

Tal como lo tengo ahora, si estando en la activity principa el usuario pusa el boton Back la activity se cierra y se pierde todo. Si pulsa Home pues la activity sigue funcionando y recopilando datos. ¿Seria mejor tener la lectura de datos en un Servicio ?, para seguir recopilando datos aunque el usuario pulse Back. Si lo hago en un servicio, ¿como deberia de guardar los datos para el resumen final?. ¿O mejor no usar el servicio y simplemente controla que si el usuario pulsa el boton Back avisarle que va a salir y se cancelara el seguimiento del entrenamiento?.

Yo practico Ciclo Indoor (Spinning) y la verdad que la app la hago para mi ;) , y ademas es un proyecto real que me sirve para ir aprendiendo a desarrollar con android. Si queda bien la publicare.

El pulsometro que estoy usando es este:
http://www.zephyr-technology.com/consumer-hxm

Un saludo.

« Last Edit: April 18, 2011, 04:42:29 PM by raulhc »

Offline aitorTheRed

  • Administrator
  • Top Member
  • *****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1631
  • Karma: 58
    • View Profile
    • Ich Weiss nicht
Re: Duda, hacerlo en un servicio o no.
« Reply #1 on: April 12, 2011, 01:33:09 AM »
Interesante proyecto :) ¿Tienes pensado liberar el código como software libre? :)

Desde mi humilde opinión, yo creo que sería una buena idea implementar la parte que dices como un servicio. De la página de android:
Quote
A Service is an application component that can perform long-running operations in the background and does not provide a user interface. Another application component can start a service and it will continue to run in the background even if the user switches to another application. Additionally, a component can bind to a service to interact with it and even perform interprocess communication (IPC). For example, a service might handle network transactions, play music, perform file I/O, or interact with a content provider, all from the background.
Yo lo implementaría como un servicio, y cuando el usuario pulse back, o home, le notificaría que el servicio sigue corriendo en background :)

Si necesitas ayuda con cualquier cosa, en función de mi tiempo libre, cuenta conmigo ;)
Un saludo!
I'm not Geeksphone Staff. Only Forum Administrator.
"Los README son para los gallinas. Se valiente y ejecuta"
Follow me on twitter! http://twitter.com/#!/aitorTheRed

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Duda, hacerlo en un servicio o no.
« Reply #2 on: April 12, 2011, 02:39:48 AM »
Si, mi intencion es ponerlo como codigo libre. Pero tambien queria dejarlo en el market, para aquellos que simplemente no quieran compilar, o no sepan. Subiria dos versiones, una gratuita totalmente funcional, y otra de pago que a parte te guarda el historico de sesiones, a precio de caña :)

¿Eso es posible?. La verdad que tampoco estoy muy al tanto de licencias.

Sobre el servicio, si, yo tambien pensaba que esa era la mejor forma, pero como todo esto es nuevo para mi... A ver si esta tarde me leo la documentacion de los servicios y hago alguna prueba, por que las dudas que tengo ahora igual son chorradas, jejeje... voy a probar primero a ver como va esto de los servicios.

El objetivo tambien es despues hacer la aplicacion compatible tambien con los pulsometros bluetooth de  Polar:

http://www.polariberica.es/es/products/accessories/WearLink_transmitter

El de Polar se encuentra facimente en España, y es mas barato que el de Zephyr, aunque el de Zephyr si tienes un documento SDK con informacion de la trama, el de Polar hay que investigar. El de Zephyr tambien lleva acelerometro y te da datos como velocidad, distancia recorrida (datos aproximados) y los pasos (si lo usas para correr, en bicicleta no tiene efecto).

Existen aplicaciones en el market que ya hacen algo similar, incluso el oruxmaps tiene soporte para este pulsometro, aunque no he visto ninguna que soporte el Polar (tampoco mire mucho :( )

Pero bueno, yo es mas bien orientado a gente que haga ciclo indoor.. ya que es muy importante al hacer el ejercicio el ritmo cardiaco y las zonas de trabajo, calculadas en base a formulas. Aunque incluendo lo datos de velocidad, pasos y distancia, pues tambien le vendria bien a gente que corra.

Y no he visto que ninguna de las aplicaciones te haga calculos del consumo calorico. Las formulas que tengo para calcular el consumo calorico son obtenidas del articulo  "Predicción del consumo de energía con un monitor de frecuencia cardiaca durante un ejercicio de intensidad submáxima. Journal of Sport Sciences (en prensa en 2004)." de Keytel L, Goedecke J, Noakes T, Hiilloskorpi H, Laukkanen R. Van Der Merwe L, Lambert V. Y Polar cita ese articulo como una de sus fuentes para sus calculos de lo que llaman OwnCal(TM).

Eso si, voy a mi ritmo, lo que el tiempo libre me permite, y teniendo en cuenta que cada paso que doy requiere que me lea documentacion, vea ejemplos de codigo, etc...  Lo que tengo hecho hasta ahora, que lo hice este finde pasado:

- Conexion con el pulsometro.  Esto me costo por que el metodo que usan en el ejemplo del Bluetooht Chat no me servia!!..por eso perdi mucho tiempo.
- Lectura de paquete de datos, comprobar que la trama es correcta (CRC) y tratamiento de los datos.

Aun falta mucho!!..jeje..  asi.. por encima:

- Configuracion de preferencias de usuario: Edad, peso y frecuencia cardiaca en reposo. (Datos necesarios para calcular las zonas de trabajo y el consumo calorico).
- Configuracion de preferencias de pulsometro, poder seleccionarlo entre los dispositivos ya emparejados o buscarlo (para esto el ejemplo del Bluetooth Chat me viene de maravilla). Supongo que cuanto mas recargada la pantalla, mas consume la bateria.
- Interfaz de usuario. Quiero presentar la informacion necesaria, bien visible y sobre fondo negro.. no quiero mucho colorido ni graficos, al final lo importante es tiempo, pulso, calorias, zona de trabajo y si estas en ella o no..
- Almacenar historico y poder consultar totales por semana, mes, o entre fechas.

Despues hay cosillas, detalles, que me gustaria implementar, pero que no los veo como lo principal, seria:

- Dar la posibilidad al usuario que no se bloquee la pantalla, pero que entre en modo de bajo consumo pasado un tiempo, sin brillo y que vuelva al brillo que tenga configurado el usuario cuando pulses la pantalla... uff.. que bien suena ... pero no debe ser sencillo!! jeje
- Avisar con un sonido cuando entras en la zona de trabajo, y con otro distinto cuando estas fuera, y otro si te pasas!!.
- Si se deja de mostrarse la actividad, mostrar en la barra superior un icono de un corazon, incluso que haga un parpadeo cada segundo (cada vez que se recibe una trama correcta).


Un saludo.

Offline Rodrigo (gp)

  • Administrator
  • Top Member
  • *****
  • Thank You
  • -Given: 3
  • -Receive: 23
  • Posts: 2083
  • Karma: 27
    • View Profile
Re: Duda, hacerlo en un servicio o no.
« Reply #3 on: April 13, 2011, 04:11:17 AM »
Hola Raulhc.

Enhorabuena, lo que estas haciendo tiene mucho interés, por favor informa de como lo llevas.

Nos están contactando empresas introducidas en el mundo de las salud y tu solución va por ahí.

Hasta pronto y gracias..... ;)
« Last Edit: April 13, 2011, 01:39:12 PM by Javier (gp) »

Offline aitorTheRed

  • Administrator
  • Top Member
  • *****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1631
  • Karma: 58
    • View Profile
    • Ich Weiss nicht
Re: Duda, hacerlo en un servicio o no.
« Reply #4 on: April 13, 2011, 04:48:29 AM »
Raúl, no te he contestado, que esta semana (pre-semana santa) ando MUY liado jejejejeje.
A ver si saco hueco y quedamos la semana que viene y parlamos tranquilamente ;)
I'm not Geeksphone Staff. Only Forum Administrator.
"Los README son para los gallinas. Se valiente y ejecuta"
Follow me on twitter! http://twitter.com/#!/aitorTheRed

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Duda, hacerlo en un servicio o no.
« Reply #5 on: April 13, 2011, 04:59:48 AM »
Hola Rodrigo,

iré escribiendo por aquí mis progresos, de eso no hay duda. Tus palabras son una motivación para seguir con mi proyecto.

Algun dato mas, las zonas de trabajo estaran calculadas en base a la formula de Karvonen:

http://en.wikipedia.org/wiki/Heart_rate#Karvonen_method

Aunque tambien dejare que el usuario establezca de forma personalizada sus zonas, que quedaran guardadas en su perfil. Un poco mas de informacion de las zonas de trabajo y lo importantes que es tenerlas en cuenta:

Quote
Zona 1: Actividad moderada

 Utilízala tras un período de duro entrenamiento, tras una competición, una marcha o tras un intenso intervalo. Resulta más beneficioso que un descanso total porque al rodar suave se activa la circulación, la sangre elimina los productos de desecho (generados por el ejercicio físico) y transporta sangre oxígenada y llena de nutrientes, ideal para regenerar el organismo. Basta con hacer 45 minutos o 1 hora a esta intensidad.

Zona 2: Control de peso

 Es el pilar de nuestra forma física y a la intensidad que más tiempo se pasa. Los beneficios comienzan a apreciarse a partir de 1 hora y puedes extender el entrenamiento hasta más de 4 horas.

Zona 3: Aeróbica

Se puede fundir el entrenamiento de esta zona con el de la zona 2. Es el siguiente escalón de cara a mejorar nuestro rendimiento y nos permite lograr una mayor "velocidad crucero". Haz 1 a 3 repeticiones intercaladas en un entrenamiento de zona 2, 1 ó 2 veces a la semana.

Zona 4: Umbral Anaeróbico

Empezarás a sufrir. Es una intensidad sólo para expertos y que sólo debe entrenarse tras varios meses de entramiento en las zonas anteriores. Es un ejercicio repetitivo (6 a 9 repeticiones) repartido en 2 ó 3 series. Aumenta el consumo máximo de oxígeno. Requiere de bastante tiempo de recuperación, entre cada intervalo y varios días a posteriori.

Zona 5: Máxima Intensidad

Llegar hasta aquí es rozar la agonía. Muy útil para disciplinas explosivas. Sirve para mejorar la tolerancia y eliminación del ácido láctico. Sólo es recomendable para personas muy preparadas. Deberás realizar 10 a 20 repeticiones divididas en 4 ó 5 series.

Obtenido de: http://www.ccelgallo.es/content/zonas-de-entrenamiento-test-de-karvonen

De mi experiencia personal haciendo ejercicio tengo que decir que tener control de las pulsaciones es lo básico. Por ejemplo haciendo ejercicio alternando en las zonas 2 y 3, consigues reducir / controlar tu peso, sin mucho esfuerzo. Vamos, que no llegas a ver el ejercicio diario como una carga, como algo que te va a cansar y que te afectara al resto de tus tareas diarias. Para una vida normal, no como deportista, es mucho mas beneficioso hacer una clase de ciclo indoor, o correr 5km a un ritmo de tus pulsaciones en zona 2 o 3 que decir, ¿me hice 5Km en X tiempo?, forzando obligas a tu cuerpo a entrar en zonas altas, anaerobicas y consumir energía que después no es facil de recuperar y es cuando acabas muerto después de hacer ejercicio y no puedes ni con el alma!!.. Si embargo haciendo ejercicio dentro de las zonas 2 y 3 consigues un buen estado de forma, no es cansado (bueno, si estas 8 horas claro que si!! jeje), y son todo beneficios :).

Un saludo.

PD: Aitor, a ver, a ver... busca un hueco y quedamos ;) , lo dicho, tu me avisas y me acerco a Grao, o si quieres quedamos en Oviedo o en otro sitio. La proxima semana yo estoy de vacaciones, en el trabajo me obligan a coger la semana entera.. :)
« Last Edit: April 13, 2011, 05:12:55 AM by raulhc »

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Duda, hacerlo en un servicio o no.
« Reply #6 on: April 17, 2011, 05:31:55 PM »
Me he puesto esta tarde un poco a investigar como son las pantallas de preferencias, y la verdad que lo tienen muy bien solucionado. Algo debía de haber cuando practicamente todas las pantallas de configuracion son muy parecidas :)

Ahora mismo tengo ya hecho lo que es la parte de preferencias con las siguientes opciones:

- Pulsometro: Para seleccionar el dispositivo bluetooh.
* Datos de usuario:
- Edad
- Peso
- Pulsaciones en reposo

Al pulsar sobre Pulsometro muestro la ventana de dialogo para seleccionar entre los dispositivos bluetooth ya emparejados o poder buscar nuevos. Esto lo he hecho siguiendo el ejemplo de BluetoothChat, que queda muy bien.

A ver si mañana preparo lo que seria el esqueleto del Servicio e incluyo el cronometro, muy importante para el calculo de calorias y llevar el control de la sesion de trabajo. No me cominicare con el servicio usando IPC, he optado por una forma mas sencilla. Solamente la actividad principal del programa hara uso del servicio, asi que el servicio publicara un Binder para comunicarse con la Activity. En la forma que lo hare si el usuario pulsa "back" estando en la actividad esta se cerrara, pero el servicio seguira ejecutandose. A ver como se me da, la teoria la tengo mas o menos mirada, y he visto varios ejemplos de codigo :)

Un saludo.

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Duda, hacerlo en un servicio o no.
« Reply #7 on: April 18, 2011, 11:45:23 AM »
Me ha constando un poco pero al final tengo ya el esqueleto de lo que deberia de ser el servicio. Ahora mismo el servicio es el que mantiene datos de estado, si se ha iniciado sesion de trabajo, tiempo transcurrido, total de calorias consumidas, etc.. A estos datos del servicio se accede a traves de un binder.

Despues con un listener, y mediante llamadas callback, el servicio envia a la actividad los datos de una lectura correcta del pulsometro. El pulsometro envia una lectura correcta cada segundo.

En los pulsometros que he visto, informan de los datos de calorias cada X tiempo, normalmente cada 5 o 10 segundos. Yo en principio hare algo similar, mas adelante dare la opcion de poder controlar el tiempo de actualizacion de los datos de calorias. Esto tambien se encarga el servicio de controlarlo y al igual que el envio de la lectura del pulsometro enviara cada X tiempo el total de calorias para que la actividad lo muestre.

De momento solo tengo el control del tiempo de sesion, pero funciona bien, cuando pulso para iniciar sesion comienza a correr el tiempo, si no lo paro y salgo con el boton "Back" de la actividad principal el servicio sigue corriendo y contabilizando datos, cuando entro de nuevo en la aplicacion detecta que el servicio ya esta corriendo, que ademas se esta procesando una sesion de entrenamiento y entonces muestra los datos automaticamente por pantalla.

Poco a poco pero va salieno :)

Un saludo.

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Duda, hacerlo en un servicio o no.
« Reply #8 on: April 18, 2011, 04:41:46 PM »
Me he entretenido ahora en mirar lo de colocar un icono de notificacion, realmente facil. Quizas lo mas dificil es hacer el icono!!.. que mi gusto grafico..bueno.. directamente carezco de el!! jeje.

Pero bueno, tirando de un corazoncito hecho con un caracter especial, pues algo he hecho. Ademas encontre esta pagina:

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

Que simplemente le indicas tu imagen y te crea todos los drawables!!, increible. Y usando el add-on "Pencil" para Firefox tienen una serie de patrones, controles, etc.. para poder diseñar tu aplicacion, vamos, que es una gran ayuda!!:

http://code.google.com/p/android-ui-utils/

En este video se ve un ejemplo de uso:
http://www.youtube.com/watch?v=EaT7sYr_f0k

Bueno, una vez he tenido el icono ha sido muy sencillo colocar este en la barra de notificaciones, el funcionamiento queda:

- Cuando sales de la actividad principal, se genera una notificacion si hay una sesion de entrenamiento en marcha.
- La notificacion permanece fija, el usuario no la puede borrar.
- Pulsando sobre la notificacion se vuelve a la actividad principal y se borra la notificacion. Tambien se borra si se entra llamando a la aplicacion.

El servicio no se para mientras haya una sesion de entrenamiento en marcha, en el momento que el usuario para la sesion y se cierra la actividad se para el servicio.

Un saludo.


Offline kacer2k

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 372
  • Karma: 8
  • Estudiante de telecomunicaciones en la UVA
    • View Profile
Re: Control de un pulsometro bluetooth - aprendiendo con android.
« Reply #9 on: April 18, 2011, 05:14:21 PM »
La verdad que es muy buena la aplicación para crear íconos de una forma sencilla, me la apunto. Gracias.

salu2

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Control de un pulsometro bluetooth - aprendiendo con android.
« Reply #10 on: April 20, 2011, 07:38:25 PM »
Sigo avanzando :)

He cambiado lo que tenia para el control del tiempo, antes para las pruebas estaba usando el widget Chronometer, pero hacerlo asi no me servia a la hora de hacer calculos de calorias. Si que me servia para evitarme problemas, simplemente le decia al control desde donde tenia que comenzar a contar y el sistema se encargaba de ir incrementando el tiempo. Pero claro, cuando me he puesto a tener control exacto del tiempo, con milisegundos, para los calculos..juas.. no me sirve lo que estaba haciendo.

Asi que he pasado el control del tiempo al Servicio directamente, existe dentro del servicio una tarea que se ejecuta cada segundo en un hilo a parte, y esta tarea se encarga de notificar a la actividad principal, mediante un Callback de que debe actualizar el cronometro. Despues cada 5 segundos debera de realizar el calculo de calorias y avisar tambien, del mismo modo, a la actividad para que actualice ese dato en pantalla. Lo mismo ocurrira con el dato del pulsometro, aunque este ira en otro hilo.

Ahora mismo el tema de controlar el tiempo, pausar y continuar, detener y contabilizar, esta controlado. Dejo algunas capturas de pantalla. Eso si, la presentacion de momento solo es para ver los datos, dejo para lo ultimo el tema del interfaz  ::)









Offline aitorTheRed

  • Administrator
  • Top Member
  • *****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1631
  • Karma: 58
    • View Profile
    • Ich Weiss nicht
Re: Control de un pulsometro bluetooth - aprendiendo con android.
« Reply #11 on: April 20, 2011, 11:48:45 PM »
Mmmm, lo del tema de tener un servicio corriendo cada segundo, puede hacer que tu batería se evapore en poco tiempo :P
¿Has pensado darle la posibilidad al usuario de que elija cada cuanto quiere el refresco? Generalmente, si vas corriendo, tampoco lo vas mirando constantemente, y puede refrescarlo no se.. cada 10 o 15 segundos.... ;D
Ánimo que veo que vas genial :D
I'm not Geeksphone Staff. Only Forum Administrator.
"Los README son para los gallinas. Se valiente y ejecuta"
Follow me on twitter! http://twitter.com/#!/aitorTheRed

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Control de un pulsometro bluetooth - aprendiendo con android.
« Reply #12 on: April 21, 2011, 02:16:05 AM »
El servicio esta en memoria de continuo, y cada segundo se ejecuta un hilo, siguiendo el metodo del handler / runnable que explican aqui:

http://developer.android.com/resources/articles/timed-ui-updates.html

Cada segundo, si hay un activity vinculado al servicio, se envia el callback para que actualice el cronometro. Por otra parte, ese mismo hilo, cada 5 segundos debera coger las lecturas del pulsometro que se hayan realizado en ese tiempo, calcular las calorias y sumar sobre el total desde que se inicio la sesion de trabajo, y en el caso de que haya activity vinculada pues enviar ese dato para que esta lo pinte.

La activity solo esta vinculada al servicio si esta es visible.

El pulsometro envia datos cada segundo, y habra un hilo que se encargue de ir tomando las lecturas, ees mismo hilo por una parte enviara el dato al activity y tambien ira guarando estas en un buffer para el calculo de calorias. Como maximo se llegaran a obtener 5 lecturas en el buffer.

Llevando algunas variables de control podria dejar solo corriendo el hilo de toma de datos del pulsometro, y hacer calculos cuando la activity pase a primer plano, pero tendria que ir guardando todas las lecturas que se hicieran del pulsometro, ese dato es imprescindible. Lo que gano por una parte lo pierdo por otra, ya que tengo que almacenar todas las lecturas durante un tiempo indeterminado.

No obstante cuando tenga esta parte mirare a ver como va el consumo, pero no creo que sea mucho, los calculos no son nada complicados y creo que seria mas trabajo almacenar las lecturas de pulsaciones.

Gracias por recordarme lo de la bateria!!.. tema muy importante en aplicaciones para moviles!! :)

Un saludo.

Offline aitorTheRed

  • Administrator
  • Top Member
  • *****
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 1631
  • Karma: 58
    • View Profile
    • Ich Weiss nicht
Re: Control de un pulsometro bluetooth - aprendiendo con android.
« Reply #13 on: April 21, 2011, 02:39:50 AM »
El servicio esta en memoria de continuo, y cada segundo se ejecuta un hilo, siguiendo el metodo del handler / runnable que explican aqui:

http://developer.android.com/resources/articles/timed-ui-updates.html

Cada segundo, si hay un activity vinculado al servicio, se envia el callback para que actualice el cronometro. Por otra parte, ese mismo hilo, cada 5 segundos debera coger las lecturas del pulsometro que se hayan realizado en ese tiempo, calcular las calorias y sumar sobre el total desde que se inicio la sesion de trabajo, y en el caso de que haya activity vinculada pues enviar ese dato para que esta lo pinte.

La activity solo esta vinculada al servicio si esta es visible.

El pulsometro envia datos cada segundo, y habra un hilo que se encargue de ir tomando las lecturas, ees mismo hilo por una parte enviara el dato al activity y tambien ira guarando estas en un buffer para el calculo de calorias. Como maximo se llegaran a obtener 5 lecturas en el buffer.

Llevando algunas variables de control podria dejar solo corriendo el hilo de toma de datos del pulsometro, y hacer calculos cuando la activity pase a primer plano, pero tendria que ir guardando todas las lecturas que se hicieran del pulsometro, ese dato es imprescindible. Lo que gano por una parte lo pierdo por otra, ya que tengo que almacenar todas las lecturas durante un tiempo indeterminado.

No obstante cuando tenga esta parte mirare a ver como va el consumo, pero no creo que sea mucho, los calculos no son nada complicados y creo que seria mas trabajo almacenar las lecturas de pulsaciones.

Gracias por recordarme lo de la bateria!!.. tema muy importante en aplicaciones para moviles!! :)

Un saludo.
Si, hoy en día, a la hora de desarrollar para móviles, lo más importante es tener en cuenta la batería (que luego es de lo primero que nos quejamos los usuarios, y, en gran parte, es debido a la gestión que hacen los programas de la batería :P) y la potencia y la memoria RAM y ROM. A día de hoy, con la potencia y la ROM (y más con las SD) no es mucho problema. La memoria RAM, depende del terminal, así que si que habría que intentar cuidarla un poco :P

Un saludo! ;) Hoy me llevan de comida por ahí también. Es posible que por la noche me acerque a colunga a ver a unos amigos-familiares :P
I'm not Geeksphone Staff. Only Forum Administrator.
"Los README son para los gallinas. Se valiente y ejecuta"
Follow me on twitter! http://twitter.com/#!/aitorTheRed

Offline raulhc

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Posts: 85
  • Karma: 3
    • View Profile
Re: Control de un pulsometro bluetooth - aprendiendo con android.
« Reply #14 on: April 21, 2011, 11:01:43 AM »
Si, no hay que olvidarse de la bateria :) ..

Cuando tenga todo lo que hare es mirar el consumo de mi movil durante una hora... sin tocarlo. Despues hare lo mismo pero con la aplicacion arrancada en primer plano y recogiendo datos. Despues lo mismo con la aplicicion recogiendo datos pero sin la activity principal visible...

¿O hay alguna utilidad que sirva para estas cosas?, tambien dare la informacion que proporciona el propio sistema de consumo de bateria, pero no se si es tan informativo como las pruebos que comento que hare.

Cambiando de tema, un amigo me paso un enlace de un skin para el emulador de android para hacer que se parezca a un nexus s / one:

http://heikobehrens.net/2011/03/15/android-skins/

Un saludo.