对象系列化两种方法Serializable和Parcelable

2015-08-20 19:04 阅读 3,333 次 评论 0 条
版权声明:本文著作权归TeachCourse所有,未经许可禁止转载,谢谢支持!
转载请注明出处:http://teachcourse.cn/350.html

在Android的Intent中传递实体的时候,需要对对象进行序列化,然后通过Bundle的putSerializable()、getSerializable()或者putParcelable()、getParcelable()方法实体存储和取出,方便我们在两个不同Activity之间传递实体,下面分别进行介绍:

1、创建实体Computer,使用Serializable序列化

public class Computer implements Serializable {
private static final long serialVersionUID = -7060210544600464481L;
private String name;
private String color;
private float price;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getColor() {
return color;
}

public void setColor(String color) {
this.color = color;
}

public float getPrice() {
return price;
}

public void setPrice(float price) {
this.price = price;
}

public static long getSerialversionuid() {
return serialVersionUID;
}

}

 

2、创建实体Phone,实现Parcelable进行序列化,如下:

public class Phone implements Parcelable {
private String phoneName;// 定义手机的品牌
private float phonePrice;// 手机的价格
private float sdkVersion;// 手机系统版本

public String getName() {
return phoneName;
}

public void setName(String name) {
this.phoneName = name;
}

public float getPrice() {
return phonePrice;
}

public void setPrice(float price) {
this.phonePrice = price;
}

public float getSdkVersion() {
return sdkVersion;
}

public void setSdkVersion(float sdkVersion) {
this.sdkVersion = sdkVersion;
}

@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}

@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;
}

@Override
public Phone[] newArray(int size) {
// TODO Auto-generated method stub
return new Phone[size];
}
};
}

3、将序列化后的对象通过Intent传递,创建MainActivity和NextActivity,如下

 

关注公众号 扫一扫二维码,加我QQ

如果文章对你有帮助,欢迎点击上方按钮关注作者

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ1589359239或公众号TeachCourse)
转载请注明出处:http://teachcourse.cn/350.html
如何使用RadioGroup和RadioButton实现FragmentTabHost导航效果? 如何使用RadioGroup和RadioB
WordPress文章分页插件:Multi-page Toolkit WordPress文章分页插件:Mult
深入理解接口的定义和意义(2)之MVP实例 深入理解接口的定义和意义(2)之
Hashtable方法解析 Hashtable方法解析

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情