皆さん、
これは初心者の質問です。インテントに関する記事をいくつか読んだことがありますが、アクティビティを開始する際のインテントの背後にある主な考え方について少し混乱しています。アクティビティを作成して表示する必要があることがわかっている場合、次のような単純なことを実行できないのはなぜですか?
MyActivity a = new MyActivity();
a.show();
よろしくお願いいたします。
よろしく、
ピーター
皆さん、
これは初心者の質問です。インテントに関する記事をいくつか読んだことがありますが、アクティビティを開始する際のインテントの背後にある主な考え方について少し混乱しています。アクティビティを作成して表示する必要があることがわかっている場合、次のような単純なことを実行できないのはなぜですか?
MyActivity a = new MyActivity();
a.show();
よろしくお願いいたします。
よろしく、
ピーター
アクティビティにはライフサイクルがあり、これはフレームワークによって管理されます。ライフサイクルをさらに把握するために、Android ではアクティビティ (startActivity) を起動するための一連のルールが導入されました。さらに言えば、意図はあなたの活動を開始することだけではありません。インテントを使用して、他のサードパーティを起動したり、ビュー/サービス/ターゲットを構築したりできます。これは、意図を導入したもう 1 つの理由である可能性があります。ちょうど私の2セント。
インテントは、実行される操作の抽象的な記述です。startActivity と一緒に使用してアクティビティを起動し、broadcastIntent を関連する BroadcastReceiver コンポーネントに送信し、startService(Intent) または bindService(Intent, ServiceConnection, int) と一緒に使用してバックグラウンド サービスと通信できます。
インテントは、異なるアプリケーション内のコード間で遅延ランタイム バインディングを実行するための機能を提供します。その最も重要な用途は、活動の開始であり、活動間の接着剤と考えることができます。これは基本的に、実行されるアクションの抽象的な記述を保持する受動的なデータ構造です。
詳細については、ここをクリックしてください。