Android--Bundleオブジェクトの使用
2018 ワード
Android開発では、1つのActivityで別のActivityを起動するにはstartActivity()関数を呼び出す必要があります.この関数のパラメータはIntentオブジェクトで、このオブジェクトの通常の初期化方法は次の通りです.
これで新しいActivityの起動が完了しましたが、この起動方式では2つのActivityの間にデータの転送はありません.多くの場合、前のActivityが新しい起動のActivityにデータを転送することがよくあります.これはBundleイメージに使用されます.たとえば、最初のActivityでは、身長と性別の2つのデータを取得し、新しく起動したActivityに渡す必要があります.では、これらのデータをBundleオブジェクトにカプセル化し、BundleオブジェクトassignをIntentにstarActivity()関数のパラメータとして渡します.実装コードは次のとおりです.
2番目のActivityに対応してデータを受信する方法も簡単で、まずIntentオブジェクトからBundleを分離し、同じ方法でデータを抽出します.実装コードは次のとおりです.
プログラムにActivityが複数ある場合はAndroid Manifestにあることに注意してください.xmlで宣言され、Activity形式が次のように宣言されます.
複数のActivityが存在する場合、AndroidManifestでも最初に起動するActivityを指定する必要があります.xmlで宣言します.宣言方法は次のとおりです.
Bundleオブジェクトには、getBooleanなど、さまざまなデータ型の操作方法があります.具体的にはAndroidの公式サイトを参照してください.
変換元:http://www.shunix.com
Intent intent = new Intent();
intent.setClass(this,SecondActivity.class);
startActivity(intent);
これで新しいActivityの起動が完了しましたが、この起動方式では2つのActivityの間にデータの転送はありません.多くの場合、前のActivityが新しい起動のActivityにデータを転送することがよくあります.これはBundleイメージに使用されます.たとえば、最初のActivityでは、身長と性別の2つのデータを取得し、新しく起動したActivityに渡す必要があります.では、これらのデータをBundleオブジェクトにカプセル化し、BundleオブジェクトassignをIntentにstarActivity()関数のパラメータとして渡します.実装コードは次のとおりです.
Intent intent = new Intent();
intent.setClass(this,SecondActivity.class);
// Bundle
Bundle bundle = new Bundle();
bundle.putDouble("height",height);//height double
bundle.putString("sex",sex);//sex string
// Bundle assign Intent
intent.putExtras(bundle);
startActivity(intent);
2番目のActivityに対応してデータを受信する方法も簡単で、まずIntentオブジェクトからBundleを分離し、同じ方法でデータを抽出します.実装コードは次のとおりです.
Bundle bundle1=this.getIntent().getExtras();
String sex=bundle1.getString("sex");
double height=bundle1.getDouble("height");
プログラムにActivityが複数ある場合はAndroid Manifestにあることに注意してください.xmlで宣言され、Activity形式が次のように宣言されます.
<activity android:name="SecondActivity"></activity>
複数のActivityが存在する場合、AndroidManifestでも最初に起動するActivityを指定する必要があります.xmlで宣言します.宣言方法は次のとおりです.
<activity android:name="SecondActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Bundleオブジェクトには、getBooleanなど、さまざまなデータ型の操作方法があります.具体的にはAndroidの公式サイトを参照してください.
変換元:http://www.shunix.com