`
功夫小当家
  • 浏览: 186133 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用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 之 Parcelable 序列化

    - 尽量避免在Parcelable对象中包含大量数据,因为这会增加内存消耗和序列化时间。 - 如果对象只需要在同一个进程中使用,考虑使用`Serializable`,因为它更简单,且在小数据量时性能差异不大。 `parcelable`文件...

    Android Parcelable序列化自定义类集合在Activity间传递

    标题"Android Parcelable序列化自定义类集合在Activity间传递"所涉及的知识点主要集中在以下几个方面: 1. **Parcelable接口**: `Parcelable`是Android提供的一个接口,用于对象的序列化和反序列化。通过实现这个...

    android-parcelable-intellij-plugin自动Parcelable方式序列化.rar

    Android开发中的Parcelable接口是用于对象序列化的一种高效方式,它比Java自带的Serializable接口性能更好,但编写起来较为繁琐。`android-parcelable-intellij-plugin`是一个IntelliJ IDEA的插件,它可以帮助开发者...

    Android序列化——Serializable与Parcelable

    在Android开发中,数据的序列化是一个非常重要的概念,它涉及到数据的持久化存储和跨进程通信(IPC)。本文将深入探讨两种主要的序列化方式:Serializable和Parcelable,并比较它们的优缺点以及适用场景。 首先,...

    Android中Serializable和Parcelable序列化对象详解

    4. **如何在Android中使用Parcelable进行序列化操作** - 实现Parcelable接口并覆盖相关方法。 - 在`writeToParcel()`中按照特定顺序写入对象字段。 - 在`createFromParcel()`中根据写入的顺序读取字段并构造新...

    安卓自带Parcelable序列化

    在实际应用中,我们经常会在`Parcelable`对象中包含其他对象,这时需要处理嵌套的序列化。例如,如果`MyParcelable`包含了一个`String`对象,我们需要在`writeToParcel()`中调用`dest.writeString(str)`,同时在`...

    Android多进程通讯AIDL传递Parcelable对象

    在Android中,Parcelable是数据序列化的高级接口,它比Serializable效率更高。如果要在AIDL中传递自定义对象,这些对象必须实现Parcelable接口。实现Parcelable接口通常包括以下步骤: 1. 创建一个内部静态类`...

    Android通过Parcelable和Serializable实现各种类型嵌套序列化

    Android提供了两种主要的序列化方式:Parcelable和Serializable。这两种方式都可以将对象转换为字节流,便于存储、传输或恢复。下面将详细讨论Android通过Parcelable和Serializable实现各种类型嵌套序列化的方法。 ...

    android序列化(Parcelable)

    3. **使用场景**:`Parcelable`适用于频繁序列化的场景,如在Activity之间传递复杂对象,或者在Intent中传递数据;`Serializable`则适用于不那么注重性能,但需要简单实现序列化的场景。 **三、实现Parcelable接口*...

    Android中的Parcelable序列化对象

    `Parcelable`接口是Android系统提供的一种高效的对象序列化机制,相比于Java中的`Serializable`接口,它在性能上更优,但使用起来较为复杂。下面将详细解释`Parcelable`接口的工作原理、实现步骤以及其在Android开发...

    android 对象序列化

    在NextActivity中接收并反序列化对象: ```java MyParcelable parcelable = getIntent().getParcelableExtra("myParcelable"); ``` 总的来说,对象序列化是Android开发中不可或缺的技术,它能帮助我们在多种场景下...

    Android对象序列化的代码例子

    在Android开发中,对象序列化是一项重要的技术,它允许我们将对象的状态转化为可存储或传输的格式,例如保存到文件、数据库或通过网络进行传递。Android提供了两种主要的对象序列化方式:Parcelable和Serializable。...

    android messager parcelable数据对象传递demo

    `Messenger`是Android系统提供的一种轻量级的IPC机制,而`Parcelable`则是一种高效的数据序列化方式,用于在进程间传递复杂数据对象。 `Messenger`主要用于在两个不同时运行的Android组件之间,如服务和服务、服务...

    诠释Android中序列化的原理与机制

    接下来,我们讨论Parcelable,这是Android特有的序列化机制,主要用于内存中的对象传输,例如在Activity之间传递数据或者保存到Bundle中。相比于Serializable,Parcelable提供了更高的性能和更低的内存消耗。实现...

    android序列化实现

    **Parcelable序列化** Parcelable是Android平台提供的一种高效的序列化方式,它是专门为Android系统设计的,相比Serializable效率更高。Parcelable接口位于`android.os`包下,是Android特有的序列化方式。实现...

    android aidl Parcelable使用DEMO

    在Android中,Parcelable是比Serializable更高效的数据序列化方式,尤其适用于跨进程传递复杂对象。Parcelable接口提供了写入和读取数据到Parcel对象的方法,这使得对象可以在内存中被复制和传递。相比于...

    Kotlin语法学习-变量定义、函数扩展、Parcelable序列化等简单总结

    Parcelable序列化是Android中的一种数据序列化方式,用于将对象转换为Parcel,以便在不同的Activity或者Service之间传输数据。在Kotlin中,我们可以使用Parcelable接口来实现序列化。例如: ```kotlin data class ...

    parcelable android demo

    5. 构造函数,从Parcel读取数据以反序列化对象。 ```java private MyParcelable(Parcel in) { // 从Parcel读取每个字段 } ``` 在"parcelableDemo"这个项目中,开发者可能创建了一个或多个自定义的Parcelable...

    android-parcelable-intellij-plugin Version 0.7.0

    在Android开发过程中,我们常常需要实现Parcelable接口来方便对象的序列化和反序列化,以便于在Intent、Binder等场景中传递数据。然而,手动实现Parcelable接口的代码繁琐且容易出错。为此,开发者们创建了一个名为...

Global site tag (gtag.js) - Google Analytics