Android Parcelable和Serializable的区别
1个回答
2016-10-14 · 百度知道合伙人官方认证企业
兄弟连教育
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向TA提问
关注
展开全部
在Android的Intent中传递实体的时候,需要对对象进行序列化,然后通过Bundle的putSerializable()、getSerializable()或者putParcelable()、getParcelable()方法实体存储和取出,方便我们在两个不同Activity之间传递实体,序列化的方式有:实现Parcelable、实现Serializable
1、Parcelable需要实现重写:writeToParcel(Parcel dest, int flags) 方法、 Parcelable.Creator内部类的 createFromParcel方法,例如:
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(phoneName);
dest.writeFloat(phonePrice);
dest.writeFloat(sdkVersion);
}
public static final Parcelable.Creator<Phone> CREATOR = new Creator<Phone>() {
@Override
public Phone createFromParcel(Parcel source) {
Phone phone=new Phone();
phone.phoneName=source.readString();
phone.phonePrice=source.readFloat();
phone.sdkVersion=source.readFloat();
return phone;
}
2、Serializable只需要实现当前接口,不用重写任何方法,使用比较简单,推荐是Serializable实现序列化操作
1、Parcelable需要实现重写:writeToParcel(Parcel dest, int flags) 方法、 Parcelable.Creator内部类的 createFromParcel方法,例如:
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(phoneName);
dest.writeFloat(phonePrice);
dest.writeFloat(sdkVersion);
}
public static final Parcelable.Creator<Phone> CREATOR = new Creator<Phone>() {
@Override
public Phone createFromParcel(Parcel source) {
Phone phone=new Phone();
phone.phoneName=source.readString();
phone.phonePrice=source.readFloat();
phone.sdkVersion=source.readFloat();
return phone;
}
2、Serializable只需要实现当前接口,不用重写任何方法,使用比较简单,推荐是Serializable实现序列化操作
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |