Ich suche ein Android TCP-Tutorial ala Service

  • Java

    Ich suche ein Android TCP-Tutorial ala Service

    Hallo,

    Ich würde gerne ein Android Servie erstellen. Dieser Service soll die TCP-Verbindung meiner App zum Server bereitstellen. Alle Tutorials haben aber die TCP sachen direkt in der Activity was den schönen effekt hat das Wen ich das Tablet drehe die Verbindung neu aufgebaut wird, und auch wen ich eine andere Activity aurufe ist die Verbindung erstmal Weg und ich muss alles komplett neu Inizialisieren -.-

    Desweiteren währe ein gutes Tutorial wie ich Events feuern kann ganz nett. Ich sende aler von der Activity (über den Service) Daten zum Server, schön und gut. Der Service empängt die andwort von Server und (so die Theorie) feuert ein Event was in der Acitivy Implementiert ist das eine andwort von Server eingegangen ist und übergiebt in einen Parameter die Daten.

    Das Problem ist dass ich nicht mit der Implementierung des Services klar komme, es scheitert genau an den Part wo TCP in den Service laufen soll.

    Was gut funktioniert ist dass TCP Socket in der Activity zu Inizialisieren und connecten und anschlißend an den Service zu übergeben. Das Problem ist hierbei dass die App Automatisch Starten soll und da soll die Verbindung gleich stehen ohne dass der Benutzer was merkt. Weil es ist schön ziemlich Blöd wen ich bei jeden Bootvorgang erst Kurtz ne Activity einblenden muss wo dann die Verbindung aufgebaut wird, diese dann wieder schlißen.

    Weitere Frage: Wie bekomme ich es hin dass wen ich die App schliße (Die MainActivity) dass der Service weiter läuft, ich meine bei WhatsApp, Facebook und co geht dass ja auch alles.

    LG, Herbrich

    PS: Ich erwarte kein C&P-Coode also keine Sorge, ich suche nur Tutorials wo das gut erklähert wird, gerne auch auf Englisch. Ich habe die ganze Nacht gesucht und nicht gefunden außer par Stackoverflow Seiten. Da steht nur "put you cood in the Service" was ich auch gemacht habe. Aber da kommen dann die Probleme mit AsnycTasks dürfen nur im MainThreadh gestartet werden.

    Würde ich im Service Threadh TCP Code laufen lassen kommt eine endsprechende Exception (NetworkInMainthreadhException), und ich kann den Servie Threadh ja auch nicht Blockieren??