Android Activity間のパラメータ伝達
2112 ワード
Webプログラムを開発するとき、Webページ間でパラメータを渡すことができることはよく知られています.androidでは、activityごとに1つのページ(ウィンドウ)に相当します.もちろん、パラメータを渡すこともできます.
構想:Intent--->を通じてコンポーネント(Activity)を活性化し、データを添付する
Intent(意向):
1:Intentオブジェクトによってコンポーネントactivityをアクティブにするには、次の5つの方法があります.
方法1:
方法2:
方式3:
方法4:
方法5:アプリケーション間でactivityをアクティブにする、つまり他のアプリケーションのactivityをアクティブにする必要がある場合に使用します.外部activityをアクティブにする権限が必要であることを前提とします.
二:Intentオブジェクトによってコンポーネントをアクティブにしながらパラメータを渡す:
方法1:
方式2:Bundleオブジェクト経由:
startActivity(intent);
または
適用シーン:AでBをアクティブにしますが、Bがいつ閉じたか知りたい場合は、使用する必要があります.
四:アクティブ化されたコンポーネント
1.アクティブ化されたコンポーネント(Activity)Intentのパラメータを取得する
構想:Intent--->を通じてコンポーネント(Activity)を活性化し、データを添付する
Intent(意向):
1:Intentオブジェクトによってコンポーネントactivityをアクティブにするには、次の5つの方法があります.
方法1:
Intent intent=new Intent(this,OtherActivity.class); // , activity
方法2:
Intent intent=new Intent();
intent.setClass(this,OtherActivity.class);// , activity
方式3:
intent.setClassName(this,"cn.kafei.activitys.OtherActivity");// , activity
方法4:
intent.setComponent(new ComponentName(this,OtherActivity.class));// ComponentName
方法5:アプリケーション間でactivityをアクティブにする、つまり他のアプリケーションのactivityをアクティブにする必要がある場合に使用します.外部activityをアクティブにする権限が必要であることを前提とします.
// activity; ,
intent.setClassName("cn.kafei.activitys","cn.kafei.activitys.OtherActivity");
二:Intentオブジェクトによってコンポーネントをアクティブにしながらパラメータを渡す:
方法1:
Intent intent=new Intent();
intent.putExtra("name","kafei");
intent.putExtra("age",22);
方式2:Bundleオブジェクト経由:
Bundle bundle=new Bundle();
bundle.putString("name"," ");
bundle.putInt("age", 20);
intent.putExtras(bundle);
3:最終的に次の2つの方法でアクティブ化するactivityを起動します.startActivity(intent);
または
startActivityForResult(intent, 200); // :Intent , ,
適用シーン:AでBをアクティブにしますが、Bがいつ閉じたか知りたい場合は、使用する必要があります.
四:アクティブ化されたコンポーネント
1.アクティブ化されたコンポーネント(Activity)Intentのパラメータを取得する
Intent intent=getIntent();//
String name= intent.getStringExtra("name");
int age=intent.getIntExtra("age",0);// 0
またはBundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
ソースコードダウンロード:android Activity間のデータ転送