android學習之intent對象傳遞類

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");




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章