AndroidにおけるBundle転送データとオブジェクト(activity転送)
3035 ワード
1.Bundleはデータを転送します.Bundleには単純なデータ型がカプセル化されているので、直接データを設定します.次に、具体的な操作を見てみましょう.
Bundleにデータを配置し、intentを使用して転送します.次に、Bundleから転送されたデータをどのように取得するかを見てみましょう.
2,Bundleはオブジェクトを伝達して、もし私達が1つの複雑なデータ型を伝達したいならばBundleの中の方法Serizlizableを使いますここで私達はデータをSerizlizableオブジェクトに回転して、それから相応の操作を行います
このようなオブジェクト:
具体的な操作は以下の通りですが、こちらではデータ設定を書き殺し、オブジェクトの転送を開始します
同じように、私もBundleにオブジェクトを配置し、Intentを使用して転送します.次に、Bundle転送のオブジェクトをどのように取得するかを見てみましょう.
まとめて、Bundleを使用してオブジェクトを渡す場合、PersionクラスにSerializableインタフェースを実装させ、putSerializable(String key,Serializble value)でデータを格納し、データを受信するときにSerializanle getSerizlizble(String key)でデータを取り出すのは簡単です!ただ一歩一歩解決する必要があり、、、、人間としてコードを書くのと同じように、一歩一歩着実にやる必要があり、一歩も天に登ることはありません.
case R.id.Btn_Msg:
// Bundle
Bundle bundle = new Bundle();
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
//
String name="admin";String num="123";
// Bundle
bundle.putString("name", name);
bundle.putString("num",num);
// bundle intent
intent.putExtra("Message",bundle);
startActivity(intent);
break;
Bundleにデータを配置し、intentを使用して転送します.次に、Bundleから転送されたデータをどのように取得するかを見てみましょう.
//
Intent intent = getIntent();
// intent bundle
Bundle bundle = intent.getBundleExtra("Message");
//
String name = bundle.getString("name");
String num = bundle.getString("num");
//
text_show.setText(name + "
" + num);
2,Bundleはオブジェクトを伝達して、もし私達が1つの複雑なデータ型を伝達したいならばBundleの中の方法Serizlizableを使いますここで私達はデータをSerizlizableオブジェクトに回転して、それから相応の操作を行います
このようなオブジェクト:
public class Persion implements Serializable {
private String name;
private String num;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
}
具体的な操作は以下の通りですが、こちらではデータ設定を書き殺し、オブジェクトの転送を開始します
case R.id.Btn_Obj:
Persion persion=new Persion();
//
String Name="zhangsan";String Num="111111";
persion.setName(Name);
persion.setNum(Num);
// Bundle
Bundle bundle1 = new Bundle();
// Persion bundle
bundle1.putSerializable("persion",persion);
Intent intent1=new Intent(MainActivity.this,Main2Activity.class);
intent1.putExtras(bundle1);
startActivity(intent1);
break;
同じように、私もBundleにオブジェクトを配置し、Intentを使用して転送します.次に、Bundle転送のオブジェクトをどのように取得するかを見てみましょう.
Intent intent=getIntent();
// Bundle
Bundle bundle=intent.getExtras();
// Persion
Persion persion= (Persion) bundle.getSerializable("persion");
text_show.setText(" :"+persion.getName()+"
"+" :"+persion.getNum());
まとめて、Bundleを使用してオブジェクトを渡す場合、PersionクラスにSerializableインタフェースを実装させ、putSerializable(String key,Serializble value)でデータを格納し、データを受信するときにSerializanle getSerizlizble(String key)でデータを取り出すのは簡単です!ただ一歩一歩解決する必要があり、、、、人間としてコードを書くのと同じように、一歩一歩着実にやる必要があり、一歩も天に登ることはありません.