Android lifecycle: Onsaveinstancestate bei TCP Socket Server

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Android lifecycle: Onsaveinstancestate bei TCP Socket Server

    Hallo zusammen,

    ich habe eine App entwickelt, welche einen TCP Socket Server startet, sobald die App geöffnet wird.
    Dies funktioniert auch ohne Probleme, solange die Activity vom Lifecycle nicht destroyed wird.

    Meine Frage:
    Kann mir jemand sagen, welche Werte ich mithilfe der Onsaveinstancestate Methode übergeben muss, um den TCP Socket Server bei einem Activitywechsel, etc. weiterhin am Leben zu erhalten?

    Normale Datentypen: String, int,... kann ich ohne weiteres mit dieser Methode übergeben, doch ich finde nicht heraus wie ich z.b. den Datentyp Socket übergeben kann...

    Vielen Dank im Voraus!

    Viele Grüße
  • Hallo
    Ich würde das etwas anders machen. Ich würde den Code für den Server in eine separate Klasse auslagern am besten eine Singelton Kasse.


    Dank dem Singelton hast du in der neuen Activity die gleiche Instanz. Das heißt das gleiche Objekt wie in der ersten Activity.
    Also ich würde die Erstellung und Verarbeitung des Sockets in eine eigene Klasse auslagern.
    Somit kannst du von allen Activitys darauf zugreifen.


    Daten von dem Socket könntest du selber auslesen, zb. mit getter setter Methoden, oder du erstellst dir einen Listner, Interface. Was du in der Activity importiert.


    Mit Onsaveinstancestate wirs du kein Erfolg haben denn das funktionier nur innerhalb der gleichen Activity zb. wenn du dein Handy drehst.
    Aber nicht von Activity zu Activity.

    de.m.wikibooks.org/wiki/Muster:_Java:_Singleton
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von jogimuc ()