AndroidでIntentを使用してオブジェクトを渡す方法
アクティビティの開始、ブロードキャストの送信、サービスの開始など、Intentを利用することができます.上記の操作を行うと、Intentに追加データを追加することができます.例えば、次のコード:MainActivity
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("name", "xiaoming");
intent.putExtra("age", 17);
startActivity(intent);
SecondActivity :
getIntent().getStringExtra("name");
getIntent().getIntExtra("age", 0);
Intent , ?
, Serializable , Parcelable 。
Serializable , 。 , 。 , Serializable 。
Animal , type,sex , :
public class Animal implements Serializable
{
private String type;
private String sex;
public String getType()
{
return type;
}
public void setType(String type)
{
this.type = type;
}
public Stirng getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
}
MainActivty.java
Animal animal = new Animal();
animal.setType("panda");
animal.setSex("male");
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent,putExtra("animal_panda", animal);
startActivity(intent);
SecondActivity.java
Animal animal = (Animal)getIntent().getSerializableExtra(animal_panda);
getSerializableExtra() , Person , Intent 。
Serializable , Parcelable , ,Parcelable , Intent , 。
public class Animal implements Serializable
{
private String type;
private String sex;
public String getType()
{
return type;
}
public void setType(String type)
{
this.type = type;
}
public Stirng getSex()
{
return sex;
}
public void setSex(String sex)
{
this.sex = sex;
}
@Override
public int describeContents()
{
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags)
{
dest.writeString(type);
dest.writeString(sex);
}
public static final Parcelable.Creator<Animal> CREATOR = new Parcelable.Creator<Animal>()
{
@Override
public Animal createFromParcel(Parcel source)
{
Animal animal = new Animal();
animal.type = source.readStirng();
animal.sex = source.readString();
return animal;
}
@Override
public Aniaml[] newArray(int size)
{
return new Animal[size];
}
}
}
SecondActivity.java
Animal animal = (Animal)getIntent.getParcelableExtra(animal-panda);
,Parcelable , , Parcelable Intent 。
:CodeEmperor 2015/8/13 11:46:12
:228 :0