Android Android-Intent通信(1)

3355 ワード

今回はAndroidで最も重要なIntentを学びます.Intentは、動作の生成コンポーネント、受信コンポーネント、および伝達されたデータ情報を含む動作の完全な説明である.今回の学習では、Intentの役割を紹介した後、ActivityでIntentをどのように使用するかを主に説明します.例えば、Activityの表示ジャンプ、暗黙的なジャンプです.
一、Intent概要
  • Intentは、受信コンポーネントに到達すると、受信コンポーネントが関連する動作
  • を実行する異なるコンポーネント間で伝達されるメッセージとも称することができる.
  • IntentはActivity、Service、BroadcastReceiverなどのコンポーネントにインタラクティブな機能を提供する
  • Intentの用途
  • ActivityとService
  • を起動
  • Androidシステム上でブロードキャストメッセージ
  • を配信
  • の放送メッセージは、特定のデータやメッセージを受信するものであってもよいし、携帯電話の信号変化や電池の電力量が低すぎるものであってもよい
  • .
    二、Activityの起動
  • Androidシステムでは、アプリケーションには通常複数のActivityがあり、Intentは異なるActivity間の切り替えとデータ転送
  • を実現することができる.
  • Activityモード起動
  • は明示的に起動し、Intentで起動したActivityが存在するクラス
  • を指定する必要があります.
  • 暗黙的に起動し、AndroidシステムはIntentの動作とデータに基づいてどのActivityを起動するかを決定する.つまり暗黙的に起動する場合、Intentには実行すべき動作と含まれるデータしか含まれず、具体的にどのActivityを起動するかを示す必要はなく、Androidシステムとエンドユーザーが選択権を持って
  • を決定する

    明示的な起動
  • Intentを使用してActivity
  • を明示的に起動
  • Intent
  • を作成
  • 現在のアプリケーションコンテキストと起動するActivity
  • を指定します.
  • 作成したこのIntentをパラメータとしてstartActivity()メソッド
  • に渡す
    Intent intent = new Intent(IntentDemo.this, ActivityToStart.class);
    startActivity(intent);

    暗黙的起動
  • の利点:どのActivityを起動する必要があるかを示す必要はなく、Androidシステムによって決定され、サードパーティ製コンポーネント
  • の使用に有利である.
  • 暗黙的にActivityを起動すると、Androidシステムはアプリケーションの実行時にIntentを解析し、一定のルールに基づいてIntentとActivityをマッチングし、Intent上の動作、データをActivityと完全に一致させる
  • で一致するActivityは、アプリケーション自体であってもよいし、Androidシステム内蔵であってもよいし、サードパーティ製アプリケーションで提供されてもよい.したがって、この方式は、Androidアプリケーションにおけるコンポーネントの多重性
  • をより強調する.
  • デフォルトでは、Androidシステムは内蔵Webブラウザ
  • を呼び出します.
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
    startActivity(intent);
  • Intentの動作はIntentである.ACTION_VIEWは、URIのデータ型に応じて動作
  • にマッチングする.
  • データ部のURIは、Webアドレスであり、Uriを用いる.parse(urlString)メソッドは、単純に1つの文字列をUriオブジェクト
  • と解釈することができる.
  • Intentの文法は以下の
  • です.
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(urlString));
  • Intentコンストラクション関数の1番目のパラメータは、Intentが実行する必要がある動作
  • である.
  • の2番目のパラメータはURIであり、伝達が必要なデータ
  • を示す.
  • Androidシステムでサポートされている一般的なアクション文字列定数テーブル
  • アクション
    説明
    ACTION_ANSWER
    電話に出るActivityを開き、デフォルトはAndroid内蔵ダイヤルインタフェース
    ACTION_CALL
    ダイヤルの画面を開き、電話をかけ、Uriの数字の部分を電話番号として使用します.
    ACTION_DELETE
    Activityを開き、提供されたデータを削除します.
    ACTION_DIAL
    内蔵ダイヤルインタフェースを開き、Uriで提供されている電話番号を表示します.
    ACTION_EDIT
    Activityを開き、提供されたデータを編集します.
    ACTION_INSERT
    Activityを開き、提供されたデータの現在位置に新しいアイテムを挿入します.
    ACTION_PICK
    サブActivityを起動し、提供されたデータのリストから1つを選択します.
    ACTION_SEARCH
    Activityを起動し、検索アクションを実行します.
    ACTION_SENDTO
    Activityを起動し、データ提供の連絡先に情報を送信します.
    ACTION_SEND
    データを送信できるActivityの起動
    ACTION_VIEW
    最も一般的な動作は、Uri方式で伝送されたデータに対して、Uriプロトコル部に従って最適な方式で対応するActivityを起動して処理する.http:addressの場合、ブラウザが開きます.tel:addressの場合、ダイヤルアップコールで指定した電話番号が開きます.
    ACTION_WEB_SEARCH
    Activityを開き、提供されたデータをWeb検索します.