2016-07-09 12 views
0

Ich habe gerade mit der Entwicklung von Java/Android begonnen und Retrofit verwendet, um einen Dienst zu erstellen, der Daten von einer API abruft. Ich erstelle diesen Dienst in meiner MainActivity, möchte jedoch, dass andere Aktivitäten diesen Dienst verwenden. Wenn MainActivity beispielsweise eine Suche ist, die service.search (query) aufruft und die Ergebnisse anzeigt, möchte ich diesen Service an eine InfoActivity übergeben, wenn der Benutzer ein Ergebnis auswählt, damit er API-Aufrufe selbst durchführen kann usw.Wie soll ich meinen Service für andere Aktivitäten in meiner Android App zugänglich machen?

Allerdings bin ich verwirrt, wie ich das tun sollte. Intents scheinen hauptsächlich für primitive Objekte geeignet zu sein, ich kann auch nicht scheinen, Retrofit-Dienste zu serialisieren (java.io.NotSerializableException: retrofit2.Retrofit), um es in eine Absicht zu setzen. Ich bin mir nicht sicher, ob es richtig ist, den Dienst global zu machen, weil ich gelesen habe, dass Android sie manchmal ohne Vorwarnung zurücksetzt.

Kann mir jemand in die richtige Richtung zeigen, wie ich das machen soll?

Antwort

0
<service android:name=".MyService" android:exported="true"/>