Question

Je développe une application de chat dans android dans lequel 2 utilisateurs discutent entre eux, il est basé sur sockets.Je souhaite implémenter la fonctionnalité vue, tout comme facebook ou whatsapp.Je pense qu'il existe peut-être une méthode onfocus associée à un activity afin que chaque fois que l'utilisateur ouvre l'activité de discussion, je puisse définir les derniers messages comme VUS dans la base de données. Existe-t-il une méthode de focus associée à une activité ?2-Dois-je stocker les messages sur SQLite local ou sur une base de données distante MySQL ?Si je stocke sur un serveur local, à quelle vitesse dois-je répliquer/mettre à jour la base de données distante ?Merci

Était-ce utile?

La solution

Sous Android, la méthode onFocus dont vous parlez serait onResume(), qui est appelé chaque fois que votre activité passe au premier plan.

Idéalement, les messages sont stockés uniquement sur la base de données locale, cela ne sert à rien de répliquer les messages sur un serveur distant.Cependant, cela dépend de la manière dont vous souhaitez gérer votre chat.

Facebook, par exemple, est évidemment basé sur un serveur, ce qui signifie que vous pouvez voir vos messages Facebook sur n'importe quel appareil simplement en vous connectant.WhatsApp, en revanche, est basé sur le client et si vous achetez un nouveau téléphone et installez WhatsApp, vous ne voyez pas les messages des conversations précédentes.

La messagerie basée sur le serveur est plus compliquée car vous devez répliquer les messages, mais la question de la fréquence n'est pas la bonne, car elle n'est pas basée sur le temps.Dès que l'utilisateur se connecte, vous répliquez et stockez le dernier n messages localement.

La messagerie basée sur le client n'a pas besoin d'être répliquée, il suffit de transmettre les messages et le tour est joué.Sauf si vous souhaitez qu'un utilisateur puisse envoyer des messages lorsque son homologue est hors ligne.Ensuite, vous stockez les messages sur le serveur et une fois le destinataire connecté, vous transférez les messages enregistrés et les supprimez du serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top