java - 如何从java应用程序序列化和在android上反序列化?

标签 java android eclipse deserialization serializable

我是 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/

相关文章:

Android Intent 过滤器在尝试在下载管理器中查看 CSV 文件时收到通知

java - 在maven项目中添加文件夹

eclipse - 如何让 Eclipse 识别 Java EE jar 文件以便 Servlet 可以编译?

java - 本地主机上的服务器 Tomcat v8.5 服务器无法启动

java - 寻找一种从 Java 中的给定 SQL 查询创建动态 SQL 的方法

java - 页面加载时调用的 Tapestry4 方法

java - 使用recyclerview和ListItem在android studio中创建表

android - 需要在用户位置周围使用不同颜色的边框圆圈

Android Studio - 如何通知 Activity View 已更改变量?

java - Eclipse - 文件的 Java 本地历史记录