2017-09-08 6 views
-3

Je veux récupérer l'emplacement GPS d'un appareil Android et le récupérer sur un autre appareil Android en temps réel. J'ai parcouru beaucoup de ressources et j'ai appris qu'il pouvait être implémenté en utilisant GCM, FCM, les sockets ou par sondage. Toutefois, GCM ou FCM ne peut pas fournir les mises à jour en temps réel et l'interrogation entraînera un drainage plus important de la batterie. Pour les Sockets, je suis passé par l'implémentation socket.io mais je ne sais pas si c'est l'implémentation parfaite. Alors s'il vous plaît fournir des suggestions sur la façon de mieux mettre en œuvre cela.Comment récupérer l'emplacement GPS d'un appareil Android et le fournir à un autre appareil Android en temps réel

Maintenant un autre scénario est que si plusieurs utilisateurs sont connectés au serveur via le même socket, comment pouvons-nous déterminer quel utilisateur surveille qui?

Veuillez nous aider ...

+1

Il existe d'autres catégories d'applications qui offrent l'échange de données en temps réel entre les appareils. Les chats sont un exemple. Vous pouvez donc envisager de rechercher les applications de chat utilisées (XMPP, WebRTC, WebSockets, etc.) et envisager d'utiliser l'une de ces technologies. Nous ne pouvons pas vous aider avec votre code socket.io car nous ne pouvons pas le voir. – CommonsWare

+0

La plupart des applications de chat implémentent FCM ou GCM mais dans mon cas, je dois faire la même chose en temps réel, ce qui peut être fait via des sockets ou via d'autres implémentations. Les applis de chat implémentant le socket ont été effectuées via socket.io mais socket.io le fait de manière broadcast, ce qui est approprié pour les salles de discussion mais pas pour le chat privé. – SAM

+0

"Les applications de chat implémentant socket ont été effectuées via socket.io" - c'est incorrect. Les applications de conversation peuvent utiliser une grande variété de protocoles. J'ai nommé trois dans mon précédent commentaire: XMPP, WebRTC et WebSockets. Parmi ceux-ci, Socket.IO peut aider avec WebSockets, mais ce n'est pas la seule option WebSocket. Socket.IO peut aider avec d'autres mécanismes de transport (par exemple, interrogation longue). Ainsi, plutôt que de vous limiter à Socket.IO, vous pourriez envisager de faire d'autres recherches sur les applications existantes. – CommonsWare

Répondre

1

Vous pouvez utiliser la base de données firebase. Une fois que vous avez intégré le firebase sdk dans votre projet, l'envoi et la mise à jour des emplacements entre les périphériques seront simples.

Vous pouvez enregistrer une entrée d'emplacement (lat, lng, timestamp) dans la base de données d'un périphérique et dans l'autre, vous pouvez écouter les événements enfants. Si les deux appareils lisent et écrivent sur la même référence db (disons même tableau) cela fonctionnera comme un charme.

Commencez ici:

https://firebase.google.com/docs/database/android/start/