entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como enviar datos entre Androids a traves de una aplicacion

Estoy planeando desarrollar una aplicación que necesitará enviar datos desde un movil android a otro, nunca he hecho algo parecido por lo que necesito un poco de orientación. Quisiera empezar enviando una simple notificación desde mi android a otro, pulsar un boton y transmitir solo un "hola mundo".

*La idea a básica es una especie de prototipo de una pequeña red social en la que ingresas información y si alguno de tus datos (digamos la edad por ejemplo) coincide con la de otro usuario, la aplicación le enviará un mensaje a ambos (puede ser una notificación) diciéndoles que encontró una coincidencia en sus datos.

*Los datos se enviarían a través de Internet puesto que la idea es que sea una comunicación a larga distancia, asumo que necesito un servidor para hacer esto.

¿Que necesito?
¿Necesito algun software especializado ademas del IDE?
¿Por donde empiezo a investigar?
¿Alguna web que me recomienden?
¿Que servidor usar?

Cualquier otra información adicional es bien recibida!

0voto

x4mp73r comentado

Explícate más,¿Necesitas enviar notificaciones Push o Bluetooth para comunicarte?
Si desarrollas bien tu pregunta, es más probable que encuentres mayor orientación.

Si son Push, debes usar (recomendado) GCM (Google Cloud Messaging). Configurar tu cliente link

0voto

Leonardo-Tadei comentado

Sería bueno un poco más de explicación... sobre todo, si la comunicación entre los Android será a través de un servidor o si será directamente entre uno y otro dispositivo.

Esto cambia muchísimo las tecnologías a usar y las formas de implementarlas...

0voto

zgluis comentado

Hola Leonardo, gracias por responder, modifiqué mi pregunta agregándole algunas explicaciones

0voto

zgluis comentado

Hola x4mp73r, gracias por responder, modifiqué mi pregunta agregándole algunas explicaciones

0voto

Leonardo-Tadei comentado

En qué lenguajes sabés programar? así te orientamos en ese sentido...

Hiciste ya aplicaciones para Android? Con qué herramientas?

0voto

zgluis comentado

He programado con C y Java, en netbeans, eclipse y android studio, he realizado algunas aplicaciones sencillas para android pero estoy seguro que tengo mucho por aprender en especial para llevar acabo este proyecto. Donde tengo menos experiencia es en el uso de servidores.

2 Respuestas

0voto

cobasESP Puntos19650

Muy buenas, yo lo que haría sería lo siguiente:

  • En android tener una activity para loguearte
  • Otra activity que muestre tus datos y permita cambiarlos

  • En el servidor un php que te devolviese si el login es correcto o no
  • Un php que te registrara un nuevo usuario o actualizara el perfil de uno existente
  • Un php que compare tus datos con los de otros usuarios, por ejemplo con una select que ponga select * from usuarios where gustos_musica like "rock" y te traiga todos los usuarios que les mole el rock, en android los mostrarias en un list view.
  • Un php que haga un track de las coordenadas de la gente y las guarde.

  • Un broadcast receiver que cada 5 minutos llame al tracker php y le envie las coordenadas para que las guarde en la tabla.

  • Por ultimo en android, creas un custom broadcast receiver, que cada 5 min por ejemplo llame a este ultimo php para comparar gustos, si hay coincidencias que te traiga también las coordenadas y así puedes hacer el calculo para ve si alguien esta cerca, y si esta cerca pues mando notificación.

No es una cosa muy difícil de desarrollar yo he hecho algo parecido a este que dices, si necesitas ayudame dimelo. :)

2votos

Leonardo-Tadei Puntos227020

Hola @zgluis,

por el tipo de aplicación que querés (mensajería multiusuario basada en características del perfil) el trabajo grande está del lado del servidor.

Hay protocolos libres muy buenos para esto, como OSatatus, pero también podrías hacer una prueba de concepto de forma más simple generando un URL de notificación para cada perfil, y llenándolo de contenido en formato XML o JSON para que le aplicación móvil pueda leerlo y refrescarlo.

Para este caso, el circuito de los datos sería:

  • cliente envía "hola mundo" al servidor.
  • el servidor lo recibe y analiza a qué usuarios debe mostrar el mensaje.
  • el servidor pone en cola el mensaje a ls usuarios que corresponde.
  • los clientes están periódicamente revisando si hay un mensaje nuevo.
  • cuando aparece un mensaje nuevo, lo muestran.

Si usaras en cambio algún protocolo de mensajería, dependería de dicho protocolo la forma en que se envía el mensaje y si el cliente está "refrescando" o "escuchando" para saber si tiene algo nuevo.

La parte del servidor es fácil de prototipar en PHP... tal vez te convenga ver tecnologías de servidores como Apache Tomcat o GlassFish para hacer la parte del servidor en Java y no tener que aprender otro lenguaje.

Es un proyecto amplio, tanto en extensión como en las tecnologías involucradas. No descartes buscar algún amigo o compañero para que te ayude y haga la parte que te queda más lejos de tu conocimiento actual de software. Esa también es una forma de aprender!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta