Android中Intent传递对象有两个方法,一个是让对象实现Serializable接口,另一个是让对象实现Parcelable接口,Sample的话Google搜一下就很多了。
大部分情况,Sample都是传递一个只有StringInt等基本类型的对象,如果需要传递图片的话,比如要传递Bitmap,用Parcelable接口的话,会比较容易,也不用特意转成数据流(其实是我不知道怎么用Serizlizable实现)。
似乎直接上代码比较好
import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.Parcelable;
public class ParceBean implements Parcelable{
private Bitmap dw;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Bitmap getDw() {
return dw;
}
public void setDw(Bitmap dw) {
this.dw = dw;
}
public static final Parcelable.Creator<ParceBean> CREATOR = new Creator<ParceBean>() {
public ParceBean createFromParcel(Parcel source) {
ParceBean pb = new ParceBean();
pb.name = source.readString();
pb.dw = Bitmap.CREATOR.createFromParcel(source);
return pb;
}
public ParceBean[] newArray(int size) {
return new ParceBean[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(name);
dw.writeToParcel(parcel, 0);
}
}
Bitmap本身实现了Parcelable接口,利用writeToParccel之后可以用createFromParcel来rebuild这个Bitmap。
然后再Activity调用这个JavaBean就可以了。