如果对象的属性不可分辨,则无法实现Parcelable?

时间:2014-04-19 13:13:56

标签: android parcelable

假设我有以下类结构

public class SipService implements Parcelable{

public SipCore sipcore;
public PhoneRinger phoneringer;
public CurrentML currentml;
public AManager amanager;
//etc...
}

SipService的所有属性都是非可分类的类。并且这些属性的属性是非可分类的类。并且这些属性的属性的属性是非可分类的类。而那些属性等的属性是非可分类的类。

我无权访问SipService属性的任何类的源代码。

这是否意味着SipService无法成功实现Parcelable?

1 个答案:

答案 0 :(得分:1)

因为您无法访问类的所有成员变量并且无法更改它,所以无法使SipService成为可分配的。

如果您有权访问,您可以阅读SipService中所有类的变量并创建它们的新实例。但是为此你需要getter和每个类的适当构造函数来重建它们。

如果这些类正在实现Serializable接口,则可以使其可序列化。因为它的行为几乎相同,但如果类实现了parcelable,性能会更好。

OR

如果您可以与团队交流,建议他们实施parcelable / serializable接口,如果这是合理的要求。