2016-03-22 6 views
3

私はIntentのコンセプトではっきりしていますが、私が理解できなかったことは、なぜIntentが非同期メッセージコールであるべきかということです。インテントはアンドロイドでは非同期です。なぜそれは同期呼び出しではありませんか?

+0

ほとんどすべてがアンドロイドです) – Alexey

+0

kですが、どうしてそういうのですか?@Alexey –

+0

通常の通話とはどういう意味か、それがどのように実装されるのか分かりません。同期していないものは、定義上は非同期です。インテントが作成または読み込まれるまで、デバイスがフリーズするだけですか?いいえ?それから非同期である必要があります。 –

答えて

2

なぜインテントを非同期メッセージコールにするべきですか?意図ベースの呼び出しは 非同期である一方で

  • API呼び出しは同期しています。
  • インテントベースコールがコンパイル時バインディングであり、インテントベースコールが 実行時バインディングの場合、API呼び出しはコンパイル時バインドです。

基本的には、実行するアクションの抽象的な記述を保持する受動的なデータ構造です。

どのように動作しますか?

インテントは、アプリケーションコンポーネントが他のAndroidコンポーネントから機能を要求することを可能にする非同期メッセージです。インテントを使用すると、同じアプリケーションのコンポーネントだけでなく、他のアプリケーションが提供するコンポーネントと対話できます。例えば、アクティビティは、写真を撮るための外部アクティビティを開始することができる。

インテントはandroid.content.Intentタイプのオブジェクトです。あなたのコードは、あなたが対象とするコンポーネントを定義するAndroidシステムにそれらを送ることができます。たとえば、startActivity()メソッドを使用して、インテントをアクティビティの開始に使用するように定義することができます。

intentには、Bundleでデータを含めることができます。このデータは受信側コンポーネントで使用できます。

関連する問題