Serializable对象的传递
Serializable即序列化,将对象转化成可存储与传输状态。
public class Student implements Serializable{
String id;
String name;
String sex;
public void setId(id){
this.id = id;
}
public String getId(){
return id;
}
public void setName(name){
this.name = name;
}
public String getName(){
return name;
}
public void setSex(sex){
this.sex = sex;
}
public String getSex(){
return sex;
}
}
//传递数据
Student student = new Student();
student.setId("1");
student.setName("zs");
student.setSex("male");
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("info",student);
startActivity(intent);
//取数据
Student student = (Student)getIntent().getSerializableExtra("info");
Parcelable对象的传递
Parcelable原理:将一个对象进行分解成Intent所支持的数据类型,然后再传递。
package com.app.model;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Created by Administrator on 16/4/20.
*/
public class Student implements Parcelable{
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(id);
dest.writeString(name);
}
public static final Parcelable.Creator<Student> CREATOR = new
Parcelable.Creator<Student>(){
@Override
public Student createFromParcel(Parcel source) {
Student student = new Student();
student.setId(source.readString());
student.setName(source.readString());
return student;
}
@Override
public Student[] newArray(int size) {
return new Student[size];
}
};
}
//传递对象
Student student = new Student();
student.setId("001");
student.setName("zs");
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("info",student);
startActivity(intent);
//获取对象
Intent intent = getIntent();
Student student =(Student)intent.getParcelableExtra("info");