2. Reagieren auf Änderungen der Netzwerkkonnektivität:
- Broadcast Receiver können Änderungen in der Internetverbindung (ACTION_CONNECTIVITY_CHANGE) erkennen.
- Beispiel: Zeigt eine Meldung an, wenn ein Gerät die Internetverbindung verliert.
3. Beantwortung eingehender SMS-Nachrichten:
- Broadcast Receiver können eingehende SMS-Nachrichten (ACTION_SMS_RECEIVED) erkennen.
- Beispiel: Benachrichtigungen anzeigen oder SMS-Nachrichten automatisch verarbeiten.
Weitere interessante Artikel
5. Service: Hintergrundprozess ohne UI
Service ist eine wesentliche Komponente in einer Android-App, mit der Sie Aufgaben im Hintergrund ohne Benutzeroberfläche ausführen können. Service eignet sich ideal für Aufgaben, die auch dann ausgeführt werden müssen, wenn die App nicht verfügbar ist, z. B. Musikstreaming, Datensynchronisierung oder Standortaktualisierungen.
Durch die Verwendung von Service können Sie sicherstellen, dass Ihre App auch dann ordnungsgemäß funktioniert, wenn Benutzer nicht direkt mit der App interagieren.
Arten von Dienstleistungen
Service kann in zwei Haupttypen unterteilt werden:
1. Started Service
Started Service ist ein Typ von Service, der von einer anderen Komponente gestartet wird, z. B. Activity oder Broadcast Receiver, und so lange ausgeführt wird, bis die Aufgabe abgeschlossen ist.
So funktioniert’s:
- Started Service beginnt mit dem Aufruf der startService()-Methode.
- Service wird im Hintergrund ausgeführt, bis die Aufgabe abgeschlossen oder manuell gestoppt wird.
- Sobald die Aufgabe abgeschlossen ist, wird der Service automatisch gestoppt.
Beispiel-Code:
Intent intent = new Intent(this, MyStartedService.class);
startService(intent);
2. Bound Service
Bound Service ist ein Typ von Service, der an andere Komponenten gebunden wird, z. B. Activity oder Fragment, und so lange ausgeführt wird, wie diese Komponenten aktiv sind.
So funktioniert’s:
- Bound Service beginnt mit dem Aufruf der bindService()-Methode.
- Service wird so lange ausgeführt, wie Komponenten daran angehängt sind.
- Wenn alle Komponenten die Bindung lösen, stoppt der Service automatisch.
Beispiel-Code:
Intent intent =new Intent(this, MyBoundService.class);
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
Der Unterschied zwischen gestartetem Dienst und gebundenem Dienst
Aspekte | Started Service | Bound Service |
Wie man anfängt | Beginnend mit startService(). | Beginnend mit bindService(). |
Dauer | Wird ausgeführt, bis die Aufgabe abgeschlossen oder gestoppt ist. | Wird so lange ausgeführt, wie Komponenten angefügt sind. |
Kommunikation | Es kann nicht direkt mit anderen Komponenten kommuniziert werden. | Kann direkt mit geklebten Bauteilen kommunizieren. |
Anwendungsbeispiele | Musikstreaming, Datensynchronisierung. | Musikplayer, Echtzeit-Kommunikation. |
Beispiele für die Nutzung von Diensten in Anwendungen
1. Musik-Apps:
- Started Service: Spielen Sie Musik im Hintergrund ab, wenn die App inaktiv ist.
- Bound Service: Steuern Sie die Wiedergabe von Musik von Activity oder Fragment.
2. Sport-Apps:
- Started Service: Verfolgt den Standort des Benutzers beim Laufen oder Radfahren.
- Bound Service: Zeigt Echtzeit-Standort- und Geschwindigkeitsdaten auf dem Activity an.
3. Chat-App:
- Started Service: Senden und Empfangen von Nachrichten im Hintergrund.
- Bound Service: Zeigt neue Nachrichten in Echtzeit auf Activity an.
6. Content Provider: Datenaustausch zwischen Anwendungen
Content Provider ist eine wesentliche Komponente in Android-Apps, die es Apps ermöglicht, Daten mit anderen Apps zu teilen. Mit Content Provider können Sie anderen Apps Zugriff auf die Daten Ihrer App gewähren, z. B. Kontaktlisten, Mediendateien oder Datenbanken.
Content Provider ermöglicht Ihrer App auch den Zugriff auf Daten aus anderen Apps, z. B. den Zugriff auf die Kontaktliste oder Fotogalerie eines Benutzers.