android对象实现序列化传输

实现序列化有两种方法
1、实现parcelable接口,重写里面的方法。
2、实现<span style="font-family: Arial, Helvetica, sans-serif;">Serializable接口,什么都不用写。</span>

下面是实现<span style="font-family: Arial, Helvetica, sans-serif;">Parcelable 接口的代码</span>

import android.os.Parcel;
import android.os.Parcelable;

public class MusicBean implements Parcelable {
	private long id;
	private String title;
	private String artist;
	private String album;
	private String displayName;
	private long albumId;
	private long duration;
	private long size;
	private String url;

	public MusicBean() {
		super();
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getArtist() {
		return artist;
	}

	public void setArtist(String artist) {
		this.artist = artist;
	}

	public String getAlbum() {
		return album;
	}

	public void setAlbum(String album) {
		this.album = album;
	}

	public String getDisplayName() {
		return displayName;
	}

	public void setDisplayName(String displayName) {
		this.displayName = displayName;
	}

	public long getAlbumId() {
		return albumId;
	}

	public void setAlbumId(long albumId) {
		this.albumId = albumId;
	}

	public long getDuration() {
		return duration;
	}

	public void setDuration(long duration) {
		this.duration = duration;
	}

	public long getSize() {
		return size;
	}

	public void setSize(long size) {
		this.size = size;
	}

	public MusicBean(long id, String title, String artist, String album,
			String displayName, long albumId, long duration, long size,
			String url) {
		super();
		this.id = id;
		this.title = title;
		this.artist = artist;
		this.album = album;
		this.displayName = displayName;
		this.albumId = albumId;
		this.duration = duration;
		this.size = size;
		this.url = url;
	}

	/**
	 * 实现了Parcelable接口需要重新写的方法
	 */
	@Override
	public int describeContents() {
		return 0;
	}

	@Override
	public void writeToParcel(Parcel dest, int flags) {
		dest.writeLong(id);
		dest.writeString(title);
		dest.writeString(artist);
		dest.writeString(album);
		dest.writeString(displayName);
		dest.writeLong(albumId);
		dest.writeLong(duration);
		dest.writeLong(size);
		dest.writeString(url);
	}

	/**
	 * 必须用 public static final 修饰符 对象必须用 CREATOR
	 */
	public static final Parcelable.Creator<MusicBean> CREATOR = new Parcelable.Creator<MusicBean>() {

		@Override
		public MusicBean createFromParcel(Parcel source) {
			Long id = source.readLong();
			String title = source.readString();
			String artist = source.readString();
			String album = source.readString();
			String displayName = source.readString();
			Long albumId = source.readLong();
			Long duration = source.readLong();
			Long size = source.readLong();
			String url = source.readString();

			MusicBean music = new MusicBean(id, title, artist, album,
					displayName, albumId, duration, size, url);
			return music;
		}

		@Override
		public MusicBean[] newArray(int size) {
			return new MusicBean[size];
		}

	};
}
</span></strong>

</pre>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值