Un par de dudas importantes sobre el desarrolo de Apss
Buenas,
Aquí traigo un par de dudas para los más avanzados en este sector:
1) Que sistema llevan/Como hay que programar una aplicación como el despertador (Alarmdroid, por ejemplo), para que siempre se esté ejecutando en Background sin consumir mucha batería ni que sea matada por aplicaciones como Task Killer.
Supongamos que empiezo a hacerla, y que se limite a tener un funcionamiento que vaya llamando a una función que devuelva la hora actual (supongo que esa función existe, nunca he trabajado con ella). entonces cuando (condicional simple) la hora que yo tengo guardada coincida con la que me devuelve dicha función, entonces ejecutaré otra Activity que será un simple TextView (DESPIERTA!!!) y ejecutaré un sonido de alarma (MediaPlayer/SoundPool).
Como debo hacer para que esta aplicación esté funcionando siempre? Tu nunca ves ejecutado el Alarmdroid, y aunque lo "mates" todo con una aplicación tipo Task Killer, a la hora sonará el despertador. Como se consigue eso?
2) Como se hace para comunicar dos aplicaciones vía web? (Whatsapp, por ejemplo). Estas aplicaciones no solo están siempre ejecutándose (como el ejemplo de arriba), sino que mientras lo están, reciben datos de la red.
Imaginad que yo voy a hacer algo tipo Whatsapp, pero que todo el mundo publique en el mismo sitio (como si fuera un Muro general), funcionamiento de ejemplo:
·Cuando tu abres la aplicación ves todos los mensajes que ha enviado todo el mundo.
·Cuando tu publicas algo, este mensaje se guarda y se te vuelve a cargar el muro con tu mensaje al inicio de todo.
·Cuando alguien publica algo (suponiendo que tu estas haciendo otras cosas, Background) te sale una notificación en la barra superior (Push, creo que se llama) que te dice, X ha escrito en el muro.
Como debería implementar todo esto? A simple vista y en plan cutre, se me ocurriría crear una BD con todos los mensajes y ir actualizando dicha BD cada vez que alguien enviara un mensaje, de forma que para actualizar el muro desde la aplicación, solo tuvieras que recuperar el resultado de una consulta a la tabla "Mensajes".
Pero, aunque el sistema fuera tan cutre, como podría hacer la sección Background, con el sistema de "Pushing"?
Supongo que este tipo de aplicaciones llevan algún mecanismo en concreto. Algún servidor de algo, no sé. Alguna vez escuché hablar de algo similar a Google Push Notifications. Puede ser? Supongamos (ya por último) que no quiero trabajar para Google, sino que quiero fundar mi empresa (tengo dinero infinito para invertir), que tipo de servidor tendría que programar para poder proporcionar yo ese funcionamiento?
Un saludo y gracias ;)
PD: Estoy cansado ya de hacer las típicas aplicaciones con los mismos Views de siempre (los he probado casi todos) con SQLite, con parseo JSON, con Google Maps, con AndEngine y demás cosas, quiero llegar más lejos en este mundo.
|