Intent對象常用語活動之間通信,發送廣播,啓動服務等,同時可以實現數據傳遞,同putExtra方法,傳遞基本數據類型參數,同時也可以傳遞對象類型參數;
不過intent傳遞對象的時候被傳遞的對象必需是可以序列化的;這個容易實現,讓對象實現Serializable接口就可以實現;在接受信息的另一個活動中,可以通過getIntent().getSerializableExtra()來實現:
活動一傳遞數據:
public class person implements Serializable{
private String name;
private int age;
public void setName(String name){
this.name=name;
}
public void setAge(int age){
this.age=age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
Person person=new Person();
person.setName("zfeig");
person.setAge(21);
Intent in =new Intent(this,SecondActivity.class);
in.putSerializableExtra("person",person);
startActivity(in);
Person person =(Person) getIntent().getSerializableExtra("person");
此外還有一種效率高點的實現方法,通過Parcelable方式
public class Person implements Parcelable{
private Stirng name;
private int age;
public int describleContents(){
return 0;
}
public void writeToParcel(Parcel dest,int flags){
dest.writeString(name);
dest.writeInt(age);
}
......//
}
在接收端的活動使用方法如下:
Person person =(Person) getIntent().getParcelableExtra("person");