1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. Rowenta, 10.01.2019 #1
    Rowenta

    Rowenta Threadstarter Neuer Benutzer

    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
     
  2. swa00, 10.01.2019 #2
    swa00

    swa00 Moderator Team-Mitglied

    Hallo Rowenta,

    was spricht denn gegen eine ausgelagerte eigene SingleTon, die deine TCP Verbindung handelt und mittels Listener deine Daten an die verschiedene Activities gibt.

    Die Übergabe eines Sockets erscheint mir da eher die schlechteste Variante.
     
  3. Rowenta

    Rowenta Threadstarter Neuer Benutzer

    Hallo swa00,

    Vielen Dank das hört sich interessant an!
    Mit dem Auslagern von code und auch mit einer Singleton hab ich mich noch nicht befasst.
    Läuft dieser Code dann nicht im Lifecycle?
     
  4. swa00

    swa00 Moderator Team-Mitglied

    Alles läuft im LifeCycle , aber das "Problem" was du hast ist nicht der LifeCycle sondern dein Verständnis vom Progammaufbau.
    Ich würde dir an dieser Stelle anraten , dich erst mit den Grundlagen auseinander zu setzen ,
    bevor du so etwas recht "fortgeschrittenes umsetzt.

    Das ,was ich Dir oben empfohlen habe ist eigentlich die Basis - die sollte erst sitzen
     
  5. jogimuc

    jogimuc Erfahrener Benutzer

    Hi mit dem ausgelagerten Code als Singelton ist das so.

    Du holst ja in der ersten Activity eine Instanz deiner Klasse TCP-Socket . Ist diese noch nicht erstellt macht das die Sinelton Klasse selber und gibt dir die Instanz zurück.

    Nun ist es bei Singelton so das du nicht selber die Instanz mit new erstellst sonder dir ich sage mal die Instanz dir von der Klasse selber zurückgeben läst.
    Da es bei Singelton nur eine Instanz einer Klasse geben kann.
    Bekommst du auch in der neuen Activity die gleiche Instanz auf deine Klasse TCP-Socket und kannst somit auf die gleichen Variablen und Inhalte zugreifen, wie in der ersten Activity.

    Du brauchst somit das Socket nicht übergeben denn du hast es ja in der Klasse Gespeichert.

    Auch ein Vorteil ist das du den Code nicht doppelt schreiben musst . Du kannst zb. eine Methode zum senden von Daten in der Klasse haben und in jeder Activity nutzen über die Instanz. Ohne ausgelagerten Code müsstest du ja in jeder Activity den Code neu schreiben.

    Muster: Java: Singleton – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher
     
    Zuletzt bearbeitet: 11.01.2019 um 18:23 Uhr
    swa00 bedankt sich.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
App funktioniert unter Android 7 und höher aber nicht drunter, ich verzweifel Android App Entwicklung 07.01.2019
Kommunikation mit Advatange Database Server Android App Entwicklung 29.11.2018
org.w3c.dom.Element - Neues Element hinzufügen Android App Entwicklung 27.11.2018
GPS Lokalisierung Android App Entwicklung 19.11.2018
Android App - Objekt bewegt sich nach Handyneigung Android App Entwicklung 30.10.2018
Wie float wert von android App an desktop Applikation per Bluetooth senden? Android App Entwicklung 29.10.2018
Kosten/ Aufwand für ne Android App für Vereinsaufgaben? Android App Entwicklung 08.10.2018
Google Play: mind. Android 8.0 (API level 26) - Eclipse Android App Entwicklung 30.09.2018
2 Probleme mit Android Studio Android App Entwicklung 24.09.2018
Android Room, wie einsteigen? Android App Entwicklung 31.07.2018
Du betrachtest das Thema "Android lifecycle: Onsaveinstancestate bei TCP Socket Server" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.