Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中序列化超级/子类_Java_Android_Inheritance_Serialization_Packages - Fatal编程技术网

Java 在Android中序列化超级/子类

Java 在Android中序列化超级/子类,java,android,inheritance,serialization,packages,Java,Android,Inheritance,Serialization,Packages,我在Android中序列化抽象超类时遇到问题,超类与子类位于不同的包中(我有几个从核心项目继承的应用程序) 经过大量的搜索,没有找到任何真正的答案,我不得不问,这是可能的吗?我必须引用子类包中的超类somwhere吗?我发现它是用空构造函数初始化的,这在本例中并没有什么帮助 如果我必须将超类添加到每个项目中,这有点违背了目的 希望您理解我的意思,在这个项目之前,我已经很久没有用Java做过任何远程复杂的事情了 编辑: 在将对象传输到web服务之前,我必须将对象临时存储在设备上(最多几天),因此据

我在Android中序列化抽象超类时遇到问题,超类与子类位于不同的包中(我有几个从核心项目继承的应用程序)

经过大量的搜索,没有找到任何真正的答案,我不得不问,这是可能的吗?我必须引用子类包中的超类somwhere吗?我发现它是用空构造函数初始化的,这在本例中并没有什么帮助

如果我必须将超类添加到每个项目中,这有点违背了目的

希望您理解我的意思,在这个项目之前,我已经很久没有用Java做过任何远程复杂的事情了

编辑: 在将对象传输到web服务之前,我必须将对象临时存储在设备上(最多几天),因此据我所知,Parcelable是不可用的

一些基本代码试图澄清一点:

在我的核心包中:

package com.test.core;
public abstract class ClassBase implements Serializable {

    public List<Measurments> measurments; // never gets serialized by the subclass.

}
package com.test.app1;
public class ClassName extends ClassBase implements Serializable

您是否尝试为度量属性添加getter和setter?我想你必须这样做。

也许你可以发布一些代码,让别人更清楚地了解你的设置?另外,你最好在Android中使用Parcelable。我在文章中没有明确说明,但我需要在将对象同步到web服务之前在设备上存储一段时间,据我所知,Parcelable不会这样做。据我所知,Parcelable==可序列化,但只是针对Android进行了优化。为什么不直接将对象/数据存储到SQLite数据库中呢“当我们重新访问支持序列化的类中的可包裹对象时,我们会发现,它们不能用于存储应用程序生命周期以外的对象。它们不是将状态封送到(比如)数据库或文件的合适选择。“这些对象相当复杂,需要很多表才能存储在设备上一小段时间,然后通过JSON进行传输,因此如果可能的话,我会避免使用JSON。那么为什么不创建一个JSON并保存它呢;”是的,我的真实代码中有这些,但它们对序列化并没有帮助。嗯,是的,抽象类不能序列化,因为它不可实例化。你有你的子类吗?为每个字段获取/设置,实现serializable并拥有默认构造函数?事实上,序列化程序将调用类的默认构造函数,然后使用其getter填充变量,这就是为什么需要使用这些类来序列化。