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




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