如何从java应用程序序列化和在Android上取消序列化?

时间:2014-04-05 17:25:58

标签: 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的make .jar并导入到Andoird作为libs但是当我导入时,Eclipse(用于编码Android)没有找到.jar作为libs,其他单词我可以调用类来自Eclipse上的.jar。有人帮我知道这里有什么不对吗?非常感谢和抱歉我的英文写作:)

1 个答案:

答案 0 :(得分:0)

您自己说明了问题:该类在您的Android应用中有不同的包名称。你为什么这样做?你应该在两个应用程序中使用完全相同的jar。