假设我有以下类结构
public class SipService implements Parcelable{
public SipCore sipcore;
public PhoneRinger phoneringer;
public CurrentML currentml;
public AManager amanager;
//etc...
}
SipService的所有属性都是非可分类的类。并且这些属性的属性是非可分类的类。并且这些属性的属性的属性是非可分类的类。而那些属性等的属性是非可分类的类。
我无权访问SipService属性的任何类的源代码。
这是否意味着SipService无法成功实现Parcelable?
答案 0 :(得分:1)
因为您无法访问类的所有成员变量并且无法更改它,所以无法使SipService成为可分配的。
如果您有权访问,您可以阅读SipService中所有类的变量并创建它们的新实例。但是为此你需要getter和每个类的适当构造函数来重建它们。
如果这些类正在实现Serializable接口,则可以使其可序列化。因为它的行为几乎相同,但如果类实现了parcelable,性能会更好。
OR
如果您可以与团队交流,建议他们实施parcelable / serializable接口,如果这是合理的要求。