Я пытаюсь сериализовать свой класс местоположения (используя класс android.location)как сериализовать класс android.location?
но, это дает мне ошибку!
11-21 21:25:37.337: W/System.err(3152): java.io.NotSerializableException: android.location
Итак, я попытался расширить класс android.location.Location
.
private class NewLocation extends Location implements Serializable {
private String Provider;
private double Latitude, Longitude, Altitude;
private float bear;
public NewLocation(Location l) {
super(l);
Provider = l.getProvider();
Latitude = l.getLatitude();
Longitude = l.getLongitude();
Altitude = l.getAltitude();
bear = l.getBearing();
}
}
После этого я попытался выполнить сериализацию расширенного класса, но с той же ошибкой.
Вот код сериализации
public static byte[] serialize(Object obj) throws IOException {
ByteArrayOutputStream bao = new ByteArrayOutputStream();
ObjectOutput oos = new ObjectOutputStream(bao);
byte[] data = null;
oos.writeObject(obj);
oos.flush();
oos.close();
data = bao.toByteArray();
return data;
}
почему эта ошибка?
Чтобы сериализовать класс, вам необходимо убедиться, что все другие классы также являются Serializable, на которые ссылается NewLocation. – saiful103a