用Parcelable接口传递Bitmap

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就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值