理论教育 传递Object对象的优化方法

传递Object对象的优化方法

时间:2023-06-12 理论教育 版权反馈
【摘要】:有两种方式来传递Object,分别是让Object实现Serializable接口或Parcelable接口。使用Serializable方式用Serializable方式传递Object的语法:bundle.putSerializable;用Serializable方式接收Object的语法:object=getIntent().getSerializable-Extra;这里需要注意Object需要实现Serializable接口,实现Serializable接口就是把对象序列化,然后再传输,和Java的常用编程没什么明显区别,而且Object不需要明显改变,推荐使用这种方式。

传递Object对象的优化方法

有两种方式来传递Object,分别是让Object实现Serializable接口或Parcelable接口。

(1)使用Serializable方式

用Serializable方式传递Object的语法:bundle.putSerializable(key,object);

用Serializable方式接收Object的语法:object=(Object)getIntent().getSerializable-Extra(key);

这里需要注意Object需要实现Serializable接口,实现Serializable接口就是把对象序列化,然后再传输,和Java的常用编程没什么明显区别,而且Object不需要明显改变,推荐使用这种方式。

首先,Object实现Serializable接口,代码如下:

用Serializable方式传递Object,代码如下:

用Serializable方式接收Object,代码如下:

(2)使用Parcelable方式

用Parcelable方式传递Object的语法:bundle.putParcelable(key,object);

用Parcelable方式接收Object的语法:object=(Object)getIntent().getParcelable-Extra(key);

Parcel是Android提供的一种新的类型,被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。(www.daowen.com)

实现Parcelable接口需要实现三个方法:

①writeToParcel方法:该方法将类的数据写入外部提供的Parcel中。

②describeContents方法:直接返回0就可以。

③静态的Parcelable.Creator<T>接口。本接口实现从in中创建出类的实例的功能。

首先,object需要实现Parcelable接口,故重写describeContents()、writeToParcel(Parcel dest,int flags)、newArray(int size)方法,代码如下:

用Parcelable方式传递Object,代码如下:

用Parcelable方式接收Object,代码如下:

(3)传递List<Object>

传递List<Object>的方法:

接收List<Object>的方法:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈