2017-02-25 18 views
-4

Also hatte ich eine Idee für eine Android-App, in der ein Teil der wichtigsten Funktionen der App ist, nach bestimmten Informationen im Internet auf der Grundlage der Benutzereingabe zu suchen und diese Informationen anzuzeigen. Ich dachte daran, dieses Problem mit einem expliziten Intents zu lösen, aber bevor ich anfing, wollte ich fragen, ob es einen besseren Weg gibt, sich diesem zu nähern, als explizite Absichten zu verwenden.Android, Soll ich eine explizite Absicht verwenden oder gibt es einen anderen Weg?

Antwort

0

Intents and Intent Filters

Versenden von expliziten oder impliziten Absichten Android explizite und implizite Absichten unterstützt. Eine Anwendung kann die Zielkomponente direkt in der Absicht (explizite Absicht) definieren oder das Android-System auffordern, registrierte Komponenten basierend auf den Absichtsdaten (implizite Absichten) auszuwerten.

Explizite Absichten definieren explizit die Komponente, die vom Android-System aufgerufen werden soll, indem die Java-Klasse als Bezeichner verwendet wird. Explizite Absichten werden normalerweise in einer Anwendung verwendet, da die Klassen in einer Anwendung vom Anwendungsentwickler gesteuert werden. Im Folgenden wird gezeigt, wie eine explizite Absicht erstellt und an das Android-System gesendet wird, um eine Aktivität zu starten.

Implizite Absichten geben die Aktion an, die ausgeführt werden soll, und optional Daten, die den Inhalt für die Aktion bereitstellen. Wenn eine implizite Absicht an das Android-System gesendet wird, sucht es nach allen Komponenten, die für die bestimmte Aktion registriert sind, und nach dem Anpassungsdatentyp. Wird nur eine Komponente gefunden, startet Android diese Komponente direkt. Wenn mehrere Komponenten vom Android-System identifiziert werden, erhält der Benutzer einen Auswahldialog und kann entscheiden, welche Komponente für die Absicht verwendet werden soll.

Zum Beispiel sagt Folgendes dem Android-System, eine Webseite zu sehen. Alle installierten Webbrowser sollten über einen Intent-Filter in den entsprechenden Intent-Daten registriert werden.

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.vogella.com")); 
startActivity(i); 
Verwandte Themen