我是 Android 新手,我正在 Android 上开发一个应用程序。该应用程序需要使用一个类来反序列化并获取数据。这是类:
package fu.sna2014.smartnavigation.utility;
import java.io.Serializable;
public class StreetObject implements Serializable{
/**
*
*/
private static final long serialVersionUID = 437865663147928104L;
private String id;
private String name;
private byte[] sound;
public StreetObject(String id, String name, byte[] sound) {
this.id = id;
this.name = name;
this.sound = sound;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public byte[] getSound() {
return sound;
}
public void setSound(byte[] sound) {
this.sound = sound;
}
}
我的问题是这个类是从另一个具有包名称的 Java 应用程序序列化的:
package snaTool;
import java.io.Serializable;
/**
*
* @author conghits
*/
public class StreetObject implements Serializable{
/**
*
*/
private static final long serialVersionUID = 437865663147928104L;
private String id;
private String name;
private byte[] sound;
//private transient List<File> unInterestingLongLongList;
public StreetObject(String id, String name, byte[] sound) {
this.id = id;
this.name = name;
this.sound = sound;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public byte[] getSound() {
return sound;
}
public void setSound(byte[] sound) {
this.sound = sound;
}
}
当我反序列化时,它会产生 ClassNotFoundException snaTool.StreetObject。我搜索了很多主题并得到了一个解决方案,即从Java应用程序为StreetObject制作.jar并作为库导入Andoird,但是当我导入时,Eclipse(用于编码Android)找不到.jar作为库,换句话说我可以从以下位置调用类Eclipse 上的 .jar。有人帮我知道这里出了什么问题吗?非常感谢,对我的英语写作感到抱歉:)
最佳答案
您自己陈述了问题:该类在您的 Android 应用程序中具有不同的包名称。你为什么要这么做?您应该在两个应用程序中使用完全相同的 jar。
关于java - 如何从java应用程序序列化和在android上反序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22884209/