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?
Antwort
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.
- 1. Asynchron synchroner Code
- 2. Async Anruf innerhalb synchroner Funktion
- 3. Synchroner Anruf in Google Chrome-Erweiterung
- 4. WPF Anruf MessageBox.Show asynchron
- 5. Ist kein synchroner Aufruf nur ein asynchroner Aufruf mit einem kleinen Timeout-Wert?
- 6. Warum benötigt Websocket einen Öffnungs-Handshake über HTTP? Warum kann es kein unabhängiges Protokoll sein?
- 7. Warum kann die linke Seite einer Zuweisung kein Inkrementausdruck sein?
- 8. Ich kann nicht scheinen ACTION_SCO_AUDIO_STATE_CHANGED Absicht warum?
- 9. Service Absicht muss explizit sein: Intent
- 10. Kann Ajax Anruf in Android erfolgen?
- 11. Absicht: Android
- 12. Wie stelle ich sicher, dass der Anruf asynchron ist?
- 13. Android 6.0 - Bluetooth - kein Code existiert für Action_Found Absicht übertragen
- 14. Warum ist meine BeginInvoke-Methode nicht asynchron?
- 15. react redux synchroner Aufruf
- 16. kann die von einem BroadcastReceiver empfangene Absicht jemals null sein?
- 17. Wie Asynchron-Anruf zu tätigen, um DotNetCircuitBreaker
- 18. Kann kein Signal in Android
- 19. Warum gibt es kein foreignAutoDelete?
- 20. Wie kann das kein konstanter Wert sein?
- 21. Warum gibt Event Intent in Android kein Ergebnis zurück?
- 22. Android: Kann keine Daten von Absicht erhalten
- 23. Warum kann ich kein Verzeichnis in Environment.DIRECTORY_PICTURES erstellen? Dies ist
- 24. django Schlüsselwort kann kein Ausdruck sein
- 25. kann nicht importiert android-Asynchron-http in Android Studio
- 26. Android Download Absicht
- 27. Warum gibt es keinen 'channel originate' Anruf?
- 28. Android - Kann kein Verzeichnis
- 29. Android - ‚Anwendung installieren‘ Absicht
- 30. Warum ist Array.count kein UInt?
Fast alle in Android ist asynchron) – Alexey
k aber warum so? @Alexey –
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. –