Der Context ist ein zentrales Konzept in Android, das Informationen über die aktuelle Umgebung und den Zustand einer Anwendung bereitstellt. Er stellt den Zugriff auf wichtige Funktionen und Ressourcen der Android-Umgebung bereit. Der Context repräsentiert im Grunde genommen die Schnittstelle zur Android-Betriebssystemumgebung für eine App.
Einfacher ausgedrückt ist der Context eine Art „Brücke“ zwischen der Anwendung und dem Betriebssystem. Er bietet Zugriff auf Dinge wie:
- Ressourcen: Der Context ermöglicht den Zugriff auf Ressourcen wie Layouts, Strings, Bilder und andere Dateien, die in der Anwendung verwendet werden.
- Starten von Aktivitäten und Services: Durch den Context kann die App neue Aktivitäten starten oder Dienste im Hintergrund ausführen.
- Zugriff auf das System: Der Context ermöglicht es der Anwendung, auf Systemdienste und -funktionen zuzugreifen, z.B. auf das Dateisystem, das Netzwerk, den Benachrichtigungsdienst und vieles mehr.
- Verwaltung des Lebenszyklus: Der Context hilft, den Lebenszyklus der Anwendung zu verfolgen, indem er Informationen über den aktuellen Zustand und die Aktivitäten bereitstellt.
- Erstellen von Benutzeroberflächenelementen: Mit dem Context kann die Anwendung Benutzeroberflächenelemente (Views) erstellen und auf diese zugreifen.
Der Context ist in verschiedenen Klassen in Android verfügbar, wie z.B. der Aktivitätsklasse, Serviceklasse, Anwendungsobjekt und vielen anderen. Je nachdem, wo und wie er verwendet wird, kann der Context verschiedene Fähigkeiten und Einschränkungen haben, wie im nächsten Abschnitt gezeigt.
Die Unterschiede der Context-Typen
Context-Typ | Beschreibung | Kann Activities starten | Kann Dialoge anzeigen | Kann Services starten | Kann Layout „inflaten“ | Kann Broadcasts senden | Kann Broadcasts empfangen | Zugriff auf Anwendungs-resourcen |
---|---|---|---|---|---|---|---|---|
Application Context | Globale Anwendungskontext, der während der gesamten Lebensdauer der Anwendung existiert. | Ja | Nein | Ja | Nein | Ja | Ja | Ja |
Activity Context | Kontext einer Aktivität, der während des Lebenszyklus der Aktivität existiert. | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Service Context | Kontext eines Dienstes, der während der Lebensdauer des Dienstes existiert. | Ja | Nein | Ja | Nein | Ja | Ja | Ja |
Broadcast Receiver Context | Kontext, der während der Ausführung von Broadcast Receivern existiert. | Ja | Nein | Nein | Nein | Ja | Ja | Ja |
Content Provider Context | Kontext, der während der Ausführung von Content Providern existiert. | Nein | Nein | Nein | Nein | Nein | Nein | Ja |
View Context | Kontext, der einem View-Element zugeordnet ist und während des Lebenszyklus des Views existiert. | Ja | Ja | Ja | Ja | Nein | Nein | Ja |