Main components - dies sind die Hauptkomponenten, die bei der Entwicklung von Anwendungen auf dem Android-Betriebssystem verwendet werden. Sie definieren die Struktur und Funktionalität einer Anwendung und ermöglichen es dem Benutzer, mit dieser zu interagieren.
Activity ist die Hauptkomponente, die für die Anzeige der Benutzeroberfläche und die Verarbeitung von Benutzeraktionen verantwortlich ist. Jede Aktivität in einer Anwendung ist ein separater Bildschirm, mit dem der Benutzer interagieren kann. Es kann verschiedene Widgets und Steuerelemente wie Schaltflächen, Textfelder und Bilder enthalten.
Service ist eine Komponente, die Hintergrundvorgänge ohne direkte Interaktion mit dem Benutzer ausführt. Es kann Aufgaben wie das Herunterladen von Dateien, die Verarbeitung von Daten oder die Wiedergabe von Audio ausführen.
Content Provider ist eine Komponente, die anderen Anwendungen Zugriff auf Anwendungsdaten ermöglicht. Es ermöglicht verschiedenen Anwendungen, mit gemeinsamen Daten zu arbeiten und Informationen untereinander auszutauschen.
Broadcast Receiver ist eine Komponente, mit der eine Anwendung Systemereignisse wie das Empfangen von SMS-Nachrichten, das Ändern des Batteriestatus oder eingehende Anrufe empfangen und verarbeiten kann.
Intent - Dies ist ein Objekt, das zur Kommunikation zwischen den Komponenten der Anwendung dient. Es kann Informationen über die auszuführende Aktion und die erforderlichen Daten enthalten, um sie auszuführen.
Das Wissen über die Kernkomponenten von Android ermöglicht es Entwicklern, funktionale und interaktive Anwendungen zu erstellen, die leicht mit dem Benutzer und anderen Anwendungen interagieren.
Activity: Hauptkomponente der Anwendung
Eine Aktivität enthält ein Fenster, das alle Elemente der Benutzeroberfläche einer Anwendung wie Schaltflächen, Textfelder, Bilder und andere enthält. Es kann eine Operation ausführen, Ereignisse verarbeiten, verschiedene Komponenten der Benutzeroberfläche auslösen und anzeigen.
Jede Aktivität in Android muss in der App-Manifestdatei deklariert werden. Das Manifest gibt den Namen der Aktivität an, der der entsprechenden Klasse im Anwendungscode zugeordnet ist. Wenn ein Benutzer eine Anwendung ausführt, erstellt das Android-System eine Instanz der Aktivität und ruft seine Lebenszyklusmethoden auf, um Ereignisse zu behandeln und den Status zu verwalten.
Die Methoden für den Aktivitätslebenszyklus umfassen onCreate(), onStart(), onResume(), onPause(), onStop() und onDestroy(). Diese Methoden werden vom Android-System zu verschiedenen Zeiten aufgerufen, wenn eine Aktivität erstellt wird, für den Benutzer sichtbar wird, im Hintergrund verschwindet oder geschlossen wird.
Activity kann auch mit anderen Android-Komponenten wie Diensten, Broadcasts, Content-Providern und anderen Aktivitäten interagieren. Sie können einzelne Aktivitäten auslösen und die Ergebnisse ihrer Arbeit zur weiteren Verarbeitung oder Anzeige erhalten.
Aktivität ist daher der Hauptbaustein einer App auf der Android-Plattform. Es bietet eine Benutzeroberfläche, verwaltet Ereignisse und interagiert mit anderen Komponenten des Systems, um eine vollständige Benutzererfahrung zu gewährleisten.
Service: Hintergrundkomponente für die Verarbeitung von Aufgaben
Der Dienst funktioniert auch dann, wenn der Benutzer zwischen verschiedenen Anwendungen oder Bildschirmen des Geräts wechselt. Es wird verwendet, um langwierige Vorgänge wie das Herunterladen von Dateien, die Verarbeitung von Daten, das Abspielen von Musik oder das Aufnehmen von Audio mit einem Mikrofon durchzuführen.
Service kann in zwei Modi ausgeführt werden: hintergrundmodus und gebundener Modus.
Im Hintergrundmodus kann der Dienst unabhängig von der Aktivität ausgeführt werden, die sich derzeit im Vordergrund befindet. Es kann verwendet werden, um Aufgaben auszuführen, die keine direkte Interaktion mit dem Benutzer erfordern.
Der gebundene Modus ermöglicht es der Aktivität, eine direkte Verbindung mit dem Service herzustellen, indem eine Bindung erstellt wird. Dieser Modus ist effizienter, wenn Aktivität und Service miteinander kommunizieren und eine enge Beziehung erfordern.
Der Service kann im Hintergrund gestartet und ausgeführt werden, auch nachdem der Benutzer die Anwendung geschlossen hat. Dadurch können Sie Aufgaben ausführen, die nur dann unterbrochen werden, wenn das System unterbrochen wird.
| Vorteile der Verwendung von Diensten in der App: |
|---|
| 1. Sicherstellen, dass Aufgaben im Hintergrund ausgeführt werden |
| 2. Die Möglichkeit, die Anwendung unabhängig von der Aktivität im Vordergrund lange zu betreiben |
| 3. Möglichkeit, Daten zwischen Service und Aktivität auszutauschen |
| 4. Verbesserung der Anwendungseffizienz |
Service ist ein leistungsfähiges und flexibles Werkzeug für die Bearbeitung von Hintergrundaufgaben in Android-Anwendungen. Die richtige Nutzung der Dienste ermöglicht es Ihnen, reaktionsfähigere Anwendungen zu erstellen und ihre Benutzererfahrung zu verbessern.
Intent: Nachrichtenübermittlungsmechanismus zwischen Komponenten
Bei der Entwicklung von Apps auf Android ist Intent ein Mechanismus zum Übertragen von Nachrichten zwischen verschiedenen Komponenten einer Anwendung, wie z. B. Aktivitäten, Diensten und Sendeempfängern.
Sie können Intent verwenden, um eine neue Anwendungskomponente zu starten, Daten zu übertragen und bestimmte Aktionen auszuführen.
Wenn eine Anwendungskomponente einen Intent sendet, kann sie die auszuführende Aktion und die zu übergebenden Daten angeben. Eine andere Komponente kann diese Intent annehmen und eine Aktion ausführen oder die übertragenen Daten abrufen.
Ein Intent kann entweder explizit oder implizit sein. Ein expliziter Intent gibt die spezifische Komponente an, an die sie gesendet werden soll. Ein impliziter Intent ist nicht an eine bestimmte Komponente gebunden, sondern definiert den Typ der Aktion und die Daten, die übergeben werden sollen. Das Android-System erkennt, welche Komponenten eine implizite Intent verarbeiten können, und fordert den Benutzer auf, aus den verfügbaren Optionen auszuwählen.
Intent kann auch verwendet werden, um Daten zwischen Anwendungen auszutauschen. Eine Anwendung kann einen Intent mit einer Anforderung zum Ausführen einer bestimmten Aktion senden, und eine andere Anwendung, die diese Aktion verarbeiten kann, antwortet auf die Anfrage, indem sie die Daten zurückgibt.
In der folgenden Tabelle sind die grundlegenden Methoden der Intent-Klasse zum Arbeiten mit Aktionen und Daten aufgeführt:
| Methode | Die Beschreibung |
|---|---|
| setAction(String action) | Legt die auszuführende Aktion fest |
| setData(Uri data) | Legt die zu übertragenden Daten fest |
| putExtra(String name, . ) | Fügt dem Intent zusätzliche Daten hinzu |
| getAction() | Gibt die aktuelle Intent-Aktion zurück |
| getData() | Gibt die aktuellen Intent-Daten zurück |
| getStringExtra(String name) | Gibt den String-Wert der zusätzlichen Daten aus dem Intent zurück |
Die Verwendung von Intent ist ein wichtiger Teil der Entwicklung von Apps auf Android, da Sie verschiedene Komponenten verknüpfen und Nachrichten und Daten zwischen ihnen übertragen können. Die korrekte Verwendung von Intent hilft beim Erstellen flexibler und funktionaler Anwendungen für Benutzer.
Content Provider: Ermöglicht den Zugriff auf Daten
Die Hauptaufgabe von Content Provider besteht darin, eine Schnittstelle für die Kommunikation mit Daten bereitzustellen. Es gibt an, wie Daten abgerufen, hinzugefügt, aktualisiert und gelöscht werden. Darüber hinaus bietet der Content Provider verschiedene Methoden zum Arbeiten mit Daten, z. B. Abfragen, Filter und Sortieren.
Zu den wichtigsten Funktionen und Vorteilen von Content Provider gehören:
- Bereitstellung einer einheitlichen Schnittstelle für den Datenzugriff;
- Sichern des Datenzugriffs zwischen Anwendungen;
- Ermöglicht die Steuerung des Datenzugriffs mithilfe von Berechtigungen;
- Ermöglicht die Synchronisierung von Daten zwischen verschiedenen Geräten;
- Schützen Sie Ihre Daten vor unbefugtem Zugriff.
Der Content Provider kann verwendet werden, um auf verschiedene Arten von Daten zuzugreifen, z. B. SQLite-Datenbanken, Dateien, Bilder, Videos und vieles mehr. Es spielt eine wichtige Rolle bei der Entwicklung von Anwendungen, die mit großen Datenmengen arbeiten und den Austausch von Informationen zwischen verschiedenen Anwendungen erfordern.
Broadcast Receiver: Empfängt und reagiert auf Broadcast-Nachrichten
Broadcast-Nachrichten sind Nachrichten, die über das Android-System gesendet werden und von jeder App, die für den Empfang registriert ist, empfangen werden können. Beispiele für Broadcast-Nachrichten sind das Ändern des WLAN-Status, das Anschließen oder Trennen des Ladevorgangs des Geräts, das Empfangen von SMS oder das Ändern der Uhrzeit.
Damit eine Anwendung Broadcast-Nachrichten empfangen kann, müssen Sie den entsprechenden Broadcast-Empfänger im Anwendungsmanifest definieren. Der Broadcast Receiver gibt einen Filter an, der bestimmt, welche Nachrichten empfangen werden sollen.
Wenn eine sendende App eine Broadcast-Nachricht sendet, erkennt das Android-System, welche Apps für den Empfang dieser Art von Nachrichten registriert sind. Das System startet dann den Broadcast Receiver jeder Anwendung, die für den Empfang der Nachricht registriert ist, und sendet diese Nachricht an sie.
Nachdem eine Broadcast-Nachricht empfangen wurde, kann der BroadcastReceiver bestimmte Aktionen ausführen, z. B. die Benutzeroberfläche der Anwendung aktualisieren, den Dienst starten oder eine Benachrichtigung für den Benutzer generieren. Schutz.wg.
Es ist wichtig zu beachten, dass Broadcast Receiver keine Benutzeroberfläche hat und Nachrichten im Hauptthread der Anwendung asynchron verarbeitet. Dies bedeutet, dass es keine langwierigen Operationen ausführen muss, da dies sonst zu einer Sperrung der Benutzeroberfläche führen kann.
Mit dem Broadcast Receiver kann die Anwendung auf Änderungen und Ereignisse im System reagieren, was sie zu einem nützlichen Werkzeug für verschiedene Funktionen und Funktionen macht, z. B. das Überwachen des Netzwerkverbindungsstatus, das Aktualisieren von Informationen in Echtzeit oder das automatische Ausführen von Aufgaben im Hintergrund.
Ein Beispiel für einen einfachen Broadcast Receiver:
public class MyBroadcastReceiver extends BroadcastReceiver >>
In diesem Beispiel wird der Broadcast Receiver MyBroadcastReceiver empfangen, wenn eine Broadcast-Nachricht mit der Aktion "com.example.broadcast.TEST_ACTION" führt bestimmte Aktionen innerhalb der onReceive() -Methode aus.
Fragment: Teil der Anwendungsschnittstelle
Fragmente haben ihren eigenen Lebenszyklus, der Methoden wie onCreate(), onCreateView(), onDestroy() und andere enthält. Sie können auch eigene benutzerdefinierte Ereignisse und Listener haben, mit denen Sie mit anderen Teilen der Anwendung oder mit dem Benutzer interagieren können.
Fragmente können zur Laufzeit der Anwendung hinzugefügt und aus der Aktivität entfernt werden. Sie können verwendet werden, um dynamische Benutzeroberflächen zu erstellen, die sich je nach Benutzeraktion oder anderen Faktoren ändern können. Außerdem können Sie mit Snippets unterschiedliche Versionen der Benutzeroberfläche für verschiedene Geräte oder Bildschirmausrichtungen erstellen.
Fragmente können auch zu Paketen oder Bibliotheken hinzugefügt und in verschiedenen Projekten verwendet werden. Dies erleichtert die Entwicklung und Wiederverwendung von Code zwischen verschiedenen Anwendungen.
Im Allgemeinen sind Fragmente ein wichtiger Teil der Anwendungsarchitektur auf Android und bieten die Möglichkeit, flexiblere, modulare und skalierbare Schnittstellen zu erstellen.
Manifest: Eine Datei, die die Komponenten einer Anwendung beschreibt
Die Manifest-Datei ist obligatorisch und dient dazu, dem Android-System Informationen über die Anwendung bereitzustellen. Diese Datei muss sich im Stammordner des Projekts befinden und enthält die grundlegenden Metadaten und Anwendungseinstellungen.
Abschnitte, die die einzelnen Komponenten einer Anwendung beschreiben, befinden sich innerhalb eines Elements . Die Abschnitte, die die Aktivierung beschreiben, befinden sich innerhalb des Elements . Jede Komponente muss einen eindeutigen Namen mit dem Android-Attribut haben:name .
Die Manifestdatei enthält auch andere wichtige Informationen, z. B. die Berechtigungen, die die App benötigt, um auf Gerätefunktionen zuzugreifen (z. B. auf das Internet oder die Kamera), sowie die Version des Android SDK, für die die App bestimmt ist.
Eine detaillierte Beschreibung der einzelnen Anwendungskomponenten finden Sie in der Android-Entwicklungsdokumentation.
Resource: Ressourcendateien für die Anwendung
Um der Anwendung Ressourcen hinzuzufügen, müssen Sie spezielle Verzeichnisse im Projekt erstellen, in denen sich die Ressourcendateien befinden. Zum Beispiel wird das Verzeichnis res/drawable für Bilder verwendet, das Verzeichnis res/values für Zeichenfolgen usw.
Auf Dateien mit Ressourcen können verschiedene Arten zugegriffen werden: als Quelldateien, als normale Dateien oder als Ressourcen zur Laufzeit. Die Quellressourcendateien befinden sich im Ordner res/raw und können von der Anwendung ohne Änderungen abgerufen werden. Normale Dateien mit Ressourcen werden in den entsprechenden Verzeichnissen gespeichert und können dann zum Beispiel zum Skalieren von Bildern oder zur Anpassung an verschiedene Geräte verarbeitet werden. Zur Laufzeit werden Ressourcen aus Quell- und normalen Ressourcendateien erstellt und von der Anwendung zum Ausführen bestimmter Aufgaben verwendet.
Außerdem können Sie verschiedene Dateitypen in Ressourcen verwenden, z. B.:
- Bilder im PNG-, JPEG-, GIF-Format;
- Videos in den Formaten MP4, 3GP;
- Sounds im MP3-, WAV-Format;
- XML-Dateien zum Lokalisieren, Definieren von Stilen, Positionieren von Schnittstellenelementen usw.
Ressourcen werden über eine spezielle Android-API verwaltet, mit der Sie auf bestimmte Ressourcendateien zugreifen, Ressourcen nach ID laden und vieles mehr können. Dies ermöglicht die Entwicklung flexibler und anpassungsfähiger Anwendungen, die auf verschiedenen Geräten und in verschiedenen Sprachen angemessen funktionieren können.
Die Verwendung von Ressourcen in einer Android-Anwendung ist ein wichtiger Aspekt der Entwicklung. Ein angemessenes Ressourcenmanagement hilft dabei, eine effiziente und flexible Anwendung zu erstellen, die sich leicht an die Änderungen und Anforderungen der Benutzer anpassen kann.
Intent Filter: Filter, um Komponenten auszuwählen, die bestimmte Aktionen ausführen
Intent Filter definiert drei Hauptkomponenten:
- Action: die Aktion, die die Komponente ausführen soll. Zum Beispiel ACTION_SEND, um Daten zu senden, oder ACTION_VIEW, um einen bestimmten Datentyp zu öffnen.
- Category: die Kategorie, zu der die Komponente gehören soll. Beispiel: CATEGORY_DEFAULT für die Hauptkategorie oder CATEGORY_BROWSABLE für eine Komponente, die über einen Webbrowser geöffnet werden kann.
- Data: die Daten, mit denen die Komponente verknüpft werden soll. Zum Beispiel ein Datentyp (MIME-Typ) oder ein URL-Schema.
Der Intent Filter ist in der Komponentendeklaration in der AndroidManifest-Datei definiert.xml. Wenn das Android-System einen Intent (Intent) von einem Benutzer oder einer anderen Quelle empfängt, analysiert es den Intent Filter aller Komponenten der Anwendung, um festzustellen, welche Komponente aufgerufen werden muss, um einen bestimmten Intent zu verarbeiten. Wenn nur eine Komponente dem Intent Filter entspricht, wird sie automatisch gestartet oder aufgerufen. Wenn es mehrere entsprechende Komponenten gibt, bietet das System dem Benutzer die Möglichkeit, die gewünschte Komponente auszuführen.
Beispiel für die Verwendung von Intent Filter:
-
Im folgenden Beispiel wird ein Intent Filter für eine Aktivität veranschaulicht, die einen bestimmten Link öffnet:
Intent Filter ist ein wichtiger Mechanismus in Android, der es den Anwendungskomponenten ermöglicht, auf verschiedene Ereignisse und Aktionen zu reagieren. Die korrekte Verwendung von Intent Filter ermöglicht es Ihnen, flexiblere und funktionellere Anwendungen auf Android zu erstellen.