当前位置: 首页 > 编程笔记 >

Android中的Parcelable序列化对象

包和泰
2023-03-14
本文向大家介绍Android中的Parcelable序列化对象,包括了Android中的Parcelable序列化对象的使用技巧和注意事项,需要的朋友参考一下

今天查阅资料,简单了解了一下Parcelable接口,它是android提供的序列化对象的接口,比java中的
Serializable高效些。通过这个接口序列化对象主要有两步:
1.实现public void writeToParcel(Parcel dest, int flags) {}方法;
2.实例化CREATOR

	public static final Parcelable.Creator<ParcelableImpl> CREATOR = new Parcelable.Creator<ParcelableImpl>() {

		@Override
		public ParcelableImpl createFromParcel(Parcel source) {

			return new ParcelableImpl(source);
		}

		@Override
		public ParcelableImpl[] newArray(int size) {

			return new ParcelableImpl[size];
		}
	};

详细说明参照如下代码:

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

public class ParcelableImpl implements Parcelable {

	private int num;

	ParcelableImpl(Parcel in) {
		num = in.readInt();
	}

	@Override
	public int describeContents() {
		return 0;
	}

	//将ParcelableImpl对象序列化为一个Parcel对象
	@Override
	public void writeToParcel(Parcel dest, int flags) {
		dest.writeInt(num);
	}

	// CREATOR 必须大写,而且必须是“CREATOR”
	public static final Parcelable.Creator<ParcelableImpl> CREATOR = new Parcelable.Creator<ParcelableImpl>() {

		//将Parcel对象发序列化为ParcelableImpl
		@Override
		public ParcelableImpl createFromParcel(Parcel source) {
			return new ParcelableImpl(source);
		}

		@Override
		public ParcelableImpl[] newArray(int size) {
			return new ParcelableImpl[size];
		}
	};
}
 类似资料:
  • 本文向大家介绍Android中Serializable和Parcelable序列化对象详解,包括了Android中Serializable和Parcelable序列化对象详解的使用技巧和注意事项,需要的朋友参考一下 本文详细对Android中Serializable和Parcelable序列化对象进行学习,具体内容如下 学习内容: 1.序列化的目的 2.Android中序列化的两种方式 3.Par

  • 我得到"Parcelable遇到IOExctive编写序列化对象"错误在这个代码 这也是我的细节类: 在command之前,一切都很好,有人知道为什么吗?

  • 问题内容: 我想使用实现的DataWrapper将ArrayList对象传递给另一个活动。 我遵循此处提供的答案:将用户定义对象的arraylist传递给Intentandroid。 我开始从另一个活动库的。这就是我传递ArrayList对象的方式: 我实现了DataWrapper类,如下所示: 并得到错误。这是我的Logcat: 我在上面的链接中遵循了答案(通过数组列表对象),但得到了错误,是什

  • 情况:我希望使用ObjectOutputStream将一组对象(不同类型)从客户端发送到服务器。 问题:对象数组不可序列化(我得到一个not serializable异常)。 我尝试了什么:我创建了一个扩展Object并实现Serializable的虚拟类。但是我不能将原始对象数组强制转换为此类。 是否有任何方法可以序列化对象数组?

  • 问题内容: 我有一个ConstantData类,该类保存我的JSON索引,我需要在活动之间附加传递它们。但在此之前,我必须首先对此类的对象实现Parcelable。 我的问题是,如何在这里的类中声明对象并将每个对象放入变量中? 我是新手,现在我一无所有。谢谢。请随意在下面修改我的代码。 ConstantData.java 如果我的问题不够清楚,您可以查找以下问题:如何使用Intent将对象从一个A

  • 问题内容: 我想使用套接字(在开发远程PC时)从Android客户端向Java服务器发送2个对象。 当然我知道上面的方法是行不通的,因为它可以提供。所以现在我想知道如何使用Gson库对对象进行序列化和反序列化。提前致谢。 问题答案: gson可以在任何平台上与Java一起使用-不仅限于Android。 使用gson序列化单个对象: 使用gson反序列化为单个对象。 从示例中可以看到,gson非常神