Сериализация Java - десериализация Android

Я пытался реализовать кросс-платформенную сериализацию между Java и Android. Я использовал Serializable, и мой код в Android в том же пакете, что и в настольном Java.

Источник: сериализация java-desktop

    Student student=new Student(); 
    student.setName("John");
    student.setSurname("Brown");
    student.setNumber(776012345);

    try {
      FileOutputStream fout = new FileOutputStream("thestudent.dat");
      ObjectOutputStream oos = new ObjectOutputStream(fout);
      oos.writeObject(student);
      oos.close();
    }
      catch (Exception e) { e.printStackTrace(); }

    }

Источник: Android - десериализация

File file=new File(getExternalFilesDir(null), "thestudent.dat");

    try {

      FileInputStream fint = new FileInputStream(file);
      ObjectInputStream ois = new ObjectInputStream(fint);
      Student stud=(Student) ois.readObject();
      ois.close();
    }
      catch (Exception e) { e.printStackTrace(); }

}

Студент - это класс, реализующий Serializable. На рабочем столе сериализирую экземпляр ученика на «thestudent.dat». Я поместил этот файл на SD-карту на устройстве Android и пытаюсь десериализовать его. Ошибка java.lang.ClassCastException: javaserializace. Студент . Но почему? У меня тот же самый пакет при сериализации, тот же самый пакет при десериализации. Все, что отличается, это название проекта. Вы видите какое-либо решение?

Отредактировано - источник класса Student:

public class Student implements Serializable {

private String name;
private String surname;
private int number;
private char gender;
private int age;
private long rc;
private int id;

public Student(){
    ;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public char getGender() {
    return gender;
}

public void setGender(char gender) {
    this.gender = gender;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public long getRc() {
    return rc;
}

public void setRc(long rc) {
    this.rc = rc;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getNumber() {
    return number;
}

public void setNumber(int number) {
    this.number = number;
}

public String getSurname() {
    return surname;
}

public void setSurname(String surname) {
    this.surname = surname;
}

}
-121--1660494- Встроить python/dsl для создания сценариев в веб-приложении PHP Я разрабатываю веб-приложение, написанное на PHP5 языке, которое в основном является пользовательским интерфейсом поверх базы данных. Чтобы предоставить пользователям более гибкий инструмент, я хочу внедрить язык сценариев, чтобы они могли делать больше...

Я разрабатываю веб- приложение, написанный на PHP5 языке, который в основном является пользовательским интерфейсом поверх базы данных. Чтобы предоставить пользователям более гибкий инструмент, я хочу внедрить язык сценариев, чтобы они могли выполнять более сложные задачи, такие как запуск SQL-запросов, выполнение циклов и хранение данных в переменных и т. д. В моем бизнес-домене Python широко используется для создания сценариев, но я также думаю о создании простого доменного языка. Сценарий должен обернуть мои существующие классы PHP.

Я ищу совет, как подойти к этой задаче развития?

Обновление: Я попробую создать сценарий в базе данных с помощью PLPGSQL в PostgreSQL. Пока это будет сделано, но я не могу использовать свои классы PHP таким образом. Подход Lua привлекателен и кажется тем, чего я хочу (кроме его не Python).

11
задан Martin Hoegh 1 November 2011 в 11:47
поделиться