User-Interface hat ▪ Services können, falls gewünscht, von anderen Applikationen benutzt werden ▪ Achtung: Services laufen im main thread des Host-Prozesses! (→Hintergrundthread für CPU-intensive oder blockierende Operationen erzeugen) Service? 2
User-Interface hat ▪ Services können, falls gewünscht, von anderen Applikationen benutzt werden ▪ Achtung: Services laufen im main thread des Host-Prozesses! (→Hintergrundthread für CPU-intensive oder blockierende Operationen erzeugen) ▪ Zwei Erscheinungsformen: ▪ Unbounded ▪ Bounded Service? 2
Liefert keine direkte Rückmeldung (“fire and forget”) ▪ Sollte sich nach Abschluss der Operation selbst beenden Bounded Service ▪ Komponenten können sich an Service “binden” und mit ihm kommunizieren (→android.os.Binder) ▪ Service läuft, so lange es “bound clients” gibt
Erzeugt Hintergrundthread und arbeitet eine Warteschlange von Jobs ab Service implementieren 5 ▪ Subklasse von android.app.Service erstellen und Callbacks implementieren: ▪ onStartCommand() bzw. onBind() ▪ onCreate() ▪ onDestroy()
▪ Service stoppen: ▪ Context.stopService() bzw. Context.unbindService() ▪ Mit dem Service kommunizieren: ▪ Bounded Service liefert via ServerConnection einen Binder ▪ Binder erlaubt Kommunikation mit dem Service (auch IPC)