2016-03-22 3 views
3

Ich bin klar mit dem Konzept der Intent aber eine Sache, die ich nicht verstanden habe, warum sollte die Intent eine asynchrone Nachricht Anruf sein.Absicht ist in Android asynchron. Warum kann es kein synchroner Anruf sein?

+0

Fast alle in Android ist asynchron) – Alexey

+0

k aber warum so? @Alexey –

+0

Ich weiß nicht, was Sie mit normalen Anruf oder wie Sie denken, dass würde sogar umgesetzt werden. Alles, was nicht synchron ist, ist per Definition asynchron. Möchtest du, dass dein Gerät so lange einfriert, bis ein Intent erstellt oder gelesen wird? Nein? Dann muss es asynchron sein. –

Antwort

2

Warum sollte der Intent ein asynchroner Nachrichtenaufruf sein?

  • API-Aufrufe sind synchron während Intent-basierte Invokationen asynchron sind.
  • API-Aufrufe sind kompilierzeitgebunden, während intentionsbasierte Aufrufe Laufzeitbindung sind.

Es ist im Grunde eine passive Datenstruktur, die eine abstrakte Beschreibung einer auszuführenden Aktion enthält.

Wie funktioniert es?

Intents sind asynchrone Nachrichten, die Komponenten Anwendung erlauben anfordern Funktionalität von anderen Android-Komponenten. Intents ermöglichen Ihnen die Interaktion mit Komponenten aus denselben Anwendungen sowie mit Komponenten anderer Anwendungen. Zum Beispiel kann eine Aktivität eine externe Aktivität zur Aufnahme eines Bildes starten.

Intents sind Objekte des Typs android.content.Intent. Ihr Code kann sie an das Android-System senden, das die Komponenten definiert, auf die Sie ausgerichtet sind. Zum Beispiel können Sie über die Methode startActivity() definieren, dass die Absicht zum Starten einer Aktivität verwendet werden soll.

Ein intent kann Daten über eine Bundle enthalten. Diese Daten können von der empfangenden Komponente verwendet werden.

Verwandte Themen