Question

  • J'ai une activité Android qui à son tour démarre un thread.
  • Dans le fil j'ouvre une connexion socket TCP persistante.
  • Lorsque le socket se connecte aux données dynamiques du serveur est téléchargé.
  • Le fil envoie des messages à l'aide de gestionnaire de classe à l'activité lorsque les données ont été reçues.

Maintenant, si l'utilisateur arrive à passer du mode portrait au mode paysage l'activité reçoit un appel OnDestroy. En ce moment, je ferme la prise et arrêter le fil.

Lorsque Android est passé en mode paysage, il appelle onCreate encore une fois et je dois faire une nouvelle connexion socket. En outre, toutes les données, l'activité doit être reçue à télécharger une fois parce que le serveur n'a pas la capacité de savoir ce qui a été envoyé avant, à savoir qu'il n'y a pas fonction « CV ».

Ainsi, le problème est qu'il ya beaucoup de données qui est renvoyé tout le temps en mode paysage est modifié.

Quelles sont mes options ici?

  • Dois-je créer un service qui gère le trafic vers le socket serveur ainsi j'ai toujours eu toutes les données que le serveur a envoyé au service.
  • Ou devrais-je désactiver le mode paysage tous ensemble peut-être?
  • Ou serait mon meilleur pari de réécrire mon serveur qui est un très gros travail: -)

Tous les commentaires sont les bienvenus: -)

/ Henrik

Était-ce utile?

La solution

Soit empêcher votre activité d'être redémarré ( restart activité sur la rotation Android ) ou mettre en œuvre un service qui gère votre application. La méthode de service est très populaire auprès des applications que je l'ai vu, et vous permet une certaine souplesse lors démolissant la connexion.

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