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
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);
- 1. Android Anfrage an einen anderen Dienst - explizite vs implizite Absicht
- 2. Wie eine explizite Absicht
- 3. Gibt es einen besseren Weg?
- 4. Soll ich Intents oder Listeners verwenden?
- 5. Numpy: Soll ich Newaxis oder None verwenden?
- 6. Kann ich SQL-String aus dem $ ding in PHP ausführen oder gibt es einen anderen Weg?
- 7. gibt es einen Weg zu bedingten Debugging in android Studio
- 8. Gibt es einen Operator oder eine Funktion?
- 9. Soll ich einen Redis-Hash oder einen Ruby-Hash verwenden?
- 10. Soll ich eine Metaklasse oder einen Klassen-Decorator verwenden oder die Methode __new__ überschreiben?
- 11. Gibt es einen Weg UND/ODER bedingten Operator in Terraform?
- 12. Steam API Login funktioniert nicht - Gibt es einen anderen Weg?
- 13. enum oder definieren, welchen soll ich verwenden?
- 14. # import'ing msado15.dll, gibt es einen anderen Weg?
- 15. Soll ich JSON oder XML verwenden?
- 16. Django: Ein ernstes Problem oder gibt es einen Weg herum?
- 17. Android - Soll ich PreferenceActivity verwenden?
- 18. Gibt es einen einfachen Weg, um es
- 19. Soll eine Triggerfunktion einen anderen Trigger auslösen?
- 20. EditorTemplate Vererbung - gibt es einen Weg
- 21. Vagrant Virtualbox Openstack - oder gibt es einen besseren Weg?
- 22. Soll ich System.out.println() oder etwas anderes verwenden?
- 23. Soll ich Dockerfiles oder Image-Commits verwenden?
- 24. SharePoint: Soll ich Listen oder eine Datenbank verwenden?
- 25. Testen Sie eine Snackbar mit UiAutomator, gibt es einen Weg?
- 26. Gibt es einen besseren Weg (C#)?
- 27. Gibt es einen richtigen Weg, um eine URL zu erstellen?
- 28. Mit Amazon EC2 kann ich Rest.inc.php (REST API) noch verwenden oder gibt es einen anderen Ansatz?
- 29. Soll ich Prototypen verwenden oder nicht?
- 30. Soll ich Dataset oder Datentabelle verwenden?