Heim  >  Artikel  >  Was sind die vier Hauptkomponenten von Android?

Was sind die vier Hauptkomponenten von Android?

青灯夜游
青灯夜游Original
2022-11-24 19:14:4445924Durchsuche

Vier Hauptkomponenten: 1. Aktivitätskomponente, es handelt sich um ein separates Fenster, und der Programmablauf muss in [Aktivität] ausgeführt werden, es handelt sich also um das grundlegendste Modul. 2. Die Servicekomponente wird verwendet, um benutzerdefinierte Vorgänge im Hintergrund auszuführen. 3. Die Inhaltsanbieterkomponente bereitet ein Inhaltsfenster für alle Anwendungen vor und behält Datenbanken und Dateien bei. 4. Die Rundfunkempfängerkomponente ist ein Mechanismus zum Übertragen von Informationen zwischen Programmen. Ihre Funktion besteht darin, Benachrichtigungen zu empfangen oder zu senden.

Was sind die vier Hauptkomponenten von Android?

Die Betriebsumgebung dieses Tutorials: Android 13-System, Xiaomi 12-Mobiltelefon.

Die vier Hauptkomponenten von Android sind Aktivität, Dienst, Inhaltsanbieter und Rundfunkempfänger.

1. Detaillierte Erklärung der vier Hauptkomponenten von Android

1. Aktivität

Aktivität kann als Grundlage des Android-Systems angesehen werden. weil im Android-System ausgeführt Alle Programme und ihre Prozesse müssen in [Aktivität] ausgeführt werden, daher ist es das grundlegendste Modul. Es fungiert als Rahmen oder Seite und jedes Programm besteht aus mehreren [Aktivitäten].

(1) Eine Aktivität ist normalerweise ein separater Bildschirm (Fenster).

(2) Aktivitäten kommunizieren durch Absicht.

(3) Jede Aktivität in einer Android-Anwendung muss in der Konfigurationsdatei AndroidManifest.xml deklariert werden, andernfalls erkennt das System die Aktivität nicht und führt sie nicht aus.

2. Der Dienst ist eine sehr wichtige Komponente in Android. Sein Status und seine Priorität ähneln den Aktivitäten. Er kann jedoch nicht allein im Hintergrund ausgeführt werden. Seine Funktion besteht darin, mit anderen Komponenten von Android zu interagieren. Wenn wir beispielsweise den Musikplayer auf dem Telefon öffnen und in den Hintergrund stellen, wird die zu diesem Zeitpunkt abgespielte Musik vom Dienst gesteuert.

1) Der Dienst wird verwendet, um benutzerdefinierte Vorgänge im Hintergrund abzuschließen. Es gibt zwei Arten von Diensten:

started (gestartet): Wenn eine Anwendungskomponente (z. B. Aktivität) die startService()-Methode aufruft, um den Dienst zu starten, befindet sich der Dienst im gestarteten Zustand.
  • gebunden (Bindung): Wenn die Anwendungskomponente die bindService()-Methode aufruft, um eine Bindung an den Dienst herzustellen, befindet sich der Dienst im gebundenen Zustand.
  • 2) Der Unterschied zwischen startService() und bindService():

Der gestartete Dienst (gestarteter Dienst) wird von anderen Komponenten gestartet, die die Methode startService() aufrufen, wodurch die Methode onStartCommand() des Dienstes aufgerufen wird . Wenn sich ein Dienst im Status „Gestartet“ befindet, ist sein Lebenszyklus unabhängig von der Komponente, die ihn gestartet hat, und kann unbegrenzt im Hintergrund ausgeführt werden, selbst wenn die Komponente, die den Dienst gestartet hat, zerstört wurde. Daher muss der Dienst durch Aufrufen der Methode stopSelf() nach Abschluss der Aufgabe oder durch Aufrufen der Methode stopService() durch andere Komponenten gestoppt werden.
  • Verwenden Sie die bindService()-Methode, um den Dienst zu aktivieren. Sobald der Anrufer beendet wird, wird der Dienst beendet muss gleichzeitig sterben.
  • 3) Entwickler müssen alle Dienste in der Anwendungskonfigurationsdatei mit dem Tag deklarieren.
4) Der Dienst läuft normalerweise im Hintergrund. Er muss im Allgemeinen nicht mit Benutzern interagieren, daher verfügt die Dienstkomponente nicht über eine grafische Benutzeroberfläche. Servicekomponenten müssen die Service-Basisklasse erben. Dienstkomponenten werden normalerweise verwendet, um Hintergrunddienste für andere Komponenten bereitzustellen oder den Betriebsstatus anderer Komponenten zu überwachen.

3. Inhaltsanbieter (Inhaltsanbieter)

Diese Komponente ist sehr flexibel und sehr wichtig. Sie bereitet ein Inhaltsfenster für alle Anwendungen vor , sodass wir bei der Verwendung dieser Software von Drittanbietern effektiv auf die darin enthaltenen Daten zugreifen und diese schützen können.

1) Die Android-Plattform bietet Content Provider, um den angegebenen Datensatz einer Anwendung anderen Anwendungen zur Verfügung zu stellen. Andere Anwendungen können über die ContentResolver-Klasse Daten von diesem Inhaltsanbieter abrufen oder speichern.

2) Inhaltsanbieter werden nur benötigt, wenn Daten zwischen mehreren Anwendungen geteilt werden müssen. Beispielsweise werden Adressbuchdaten von mehreren Anwendungen verwendet und müssen bei einem Inhaltsanbieter gespeichert werden. Der Vorteil besteht darin, dass die Art und Weise, wie auf Daten zugegriffen wird, vereinheitlicht wird.

3) ContentProvider implementiert den Datenaustausch. ContentProvider wird verwendet, um Daten zu speichern und abzurufen und sie für alle Anwendungen sichtbar zu machen. Dies ist die einzige Möglichkeit, Daten zwischen verschiedenen Anwendungen auszutauschen, da Android keinen gemeinsamen Speicherbereich bereitstellt, auf den alle Anwendungen zugreifen können.

4) Entwickler verwenden Objekte der ContentProvider-Klasse nicht direkt. Die meisten von ihnen implementieren Operationen für ContentProvider über ContentResolver-Objekte.

5) ContentProvider verwendet URI, um seinen Datensatz eindeutig zu identifizieren. Dem URI wird hier content:// vorangestellt, was darauf hinweist, dass die Daten von ContentProvider verwaltet werden.

4. Rundfunkempfänger

Im Android-System ist der Rundfunkempfänger nicht direkt sichtbar. Es handelt sich um einen Mechanismus zum Übertragen von Informationen zwischen Programmen. Seine Funktion besteht darin, Benachrichtigungen zu empfangen oder zu senden. Laienhaft ausgedrückt ist ein Rundfunkempfänger eher eine Übertragungskomponente. Er kann Informationen empfangen, diese sogar filtern und dann reagieren.

1) Ihre Anwendung kann damit externe Ereignisse filtern und nur externe Ereignisse von Interesse empfangen und darauf reagieren (z. B. wenn ein Telefonanruf eingeht oder wenn das Datennetz verfügbar ist). Rundfunkempfänger verfügen über keine Benutzeroberfläche. Sie können jedoch als Reaktion auf die erhaltenen Informationen eine Aktivität oder einen Dienst starten oder einen NotificationManager verwenden, um den Benutzer zu benachrichtigen. Benachrichtigungen können auf viele Arten verwendet werden, um die Aufmerksamkeit des Benutzers zu erregen, z. B. durch Blinken der Hintergrundbeleuchtung, Vibrieren, Abspielen von Tönen usw. Im Allgemeinen platzieren Sie ein dauerhaftes Symbol in der Statusleiste, das der Benutzer öffnen und die Nachricht erhalten kann.

2) Es gibt zwei Methoden zum Registrieren von Rundfunkempfängern, nämlich die dynamische Registrierung im Programm und die statische Registrierung in der AndroidManifest-Datei.

3) Das Merkmal dynamisch registrierter Rundfunkempfänger besteht darin, dass die Übertragung ungültig wird, wenn die zur Registrierung verwendete Aktivität deaktiviert wird. Bei der statischen Registrierung müssen Sie sich keine Gedanken darüber machen, ob der Rundfunkempfänger ausgeschaltet ist. Solange das Gerät eingeschaltet ist, ist auch der Rundfunkempfänger eingeschaltet. Das heißt, auch wenn die App selbst nicht gestartet wird, wirkt sich die von der App abonnierte Übertragung beim Auslösen auf sie aus.

2. Zusammenfassung der vier Hauptkomponenten von Android:

1. Registrierung der 4 Hauptkomponenten

Die vier Grundkomponenten müssen registriert werden, bevor sie verwendet werden können. und Content Provider müssen in der AndroidManifest-Datei „Configure in“ enthalten sein. Aktivitäten, Dienste und Inhaltsanbieter, die nicht in der AndroidManifest-Datei deklariert sind, sind für das System nicht sichtbar und daher nicht verfügbar. Die Registrierung von Rundfunkempfängern ist in statische Registrierung (konfiguriert in der AndroidManifest-Datei) und dynamische Erstellung durch Code und Registrierung beim System durch Aufrufen von Context.registerReceiver() unterteilt. Es ist zu beachten, dass der in der AndroidManifest-Datei konfigurierte Broadcast-Empfänger beim Systemstart aktiv bleibt und ausgelöst wird, solange eine interessierte Broadcast empfangen wird (auch wenn das Programm nicht ausgeführt wird).

2. Aktivierung der 4 Hauptkomponenten

Aktivierung des Inhaltsanbieters: Nach Erhalt einer Anfrage von ContentResolver wird der Inhaltsanbieter aktiviert. Die anderen drei Komponenten Aktivitäten, Dienste und Rundfunkempfänger werden durch eine asynchrone Nachricht namens Intent aktiviert.

Schließen Sie die 3 und 4 Hauptkomponenten

Der Inhaltsanbieter wird nur auf Anfrage von ContentResolver aktiviert. Ein Broadcast-Empfänger wird nur als Reaktion auf Broadcast-Nachrichten aktiviert. Daher besteht keine Notwendigkeit, diese Komponenten explizit zu schließen. Aktivitätsabschluss: Sie können eine Aktivität schließen, indem Sie ihre Methode „finish()“ aufrufen. Dienstabschaltung: Für Dienste, die über die Methode startService() gestartet wurden, muss die Methode Context.stopService() aufgerufen werden, um den Dienst herunterzufahren. Für Dienste, die über die Methode bindService() gestartet wurden, muss die Methode Contex.unbindService() aufgerufen werden Beenden Sie den Dienst.

4. Aufgabe (Aktivitätsstapel) in Android

a) Aufgabe ist eigentlich ein Stapel von Aktivitäten, der aus einer oder mehreren Aktivitäten besteht, die zusammen ein vollständiges Benutzererlebnis vervollständigen. Das untere Ende des Stapels ist die Aktivität, die die gesamte Aufgabe startet, und das obere Ende des Stapels ist die aktuell ausgeführte Aktivität, mit der der Benutzer interagieren kann. Wenn eine Aktivität eine andere startet, wird die neue Aktivität auf den Stapel verschoben und zur aktuellen Aktivität Laufaktivität. Die vorherige Aktivität bleibt auf dem Stapel. Wenn der Benutzer die ZURÜCK-Taste drückt, wird die aktuelle Aktivität vom Stapel entfernt und die vorherige Aktivität kehrt zur aktuell ausgeführten Aktivität zurück. Was im Stapel gespeichert wird, ist eigentlich ein Objekt. Die Aktivitäten im Stapel werden niemals neu angeordnet, sondern nur verschoben oder entfernt.

b) Alle Aktivitäten in der Aufgabe bewegen sich als Ganzes. Die gesamte Aufgabe (d. h. der Aktivitätsstapel) kann in den Vordergrund verschoben oder in den Hintergrund zurückgezogen werden.

c) Das Android-System ist ein Multitasking-Betriebssystem, das mehrere andere Programme ausführen kann, während Sie auf Ihrem Mobiltelefon Musik hören. Jedes Mal, wenn eine zusätzliche Anwendung ausgeführt wird, wird mehr Systemspeicher verbraucht. Wenn zu viele Programme gleichzeitig ausgeführt werden oder das geschlossene Programm den Speicher nicht ordnungsgemäß freigibt, wird das System immer langsamer oder sogar instabil. Um dieses Problem zu lösen, hat Android einen neuen Mechanismus eingeführt, nämlich Life Cycle.

Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ“!

Das obige ist der detaillierte Inhalt vonWas sind die vier Hauptkomponenten von Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn