我正在使用v2 Google Play服务中的Google的LatLng类。那个特定的类是最终的,不会实现java.io.Serializable。有什么办法可以使LatLng该类实现Serializable?
java.io.Serializable
LatLng
Serializable
public class MyDummyClass implements java.io.Serializable { private com.google.android.gms.maps.model.LatLng mLocation; // ... }
我不想声明mLocation 短暂的 。
mLocation
不是,Serializable但是是Parcelable,如果可以的话。如果没有,您可以自己处理序列化:
Parcelable
public class MyDummyClass implements java.io.Serialiazable { // mark it transient so defaultReadObject()/defaultWriteObject() ignore it private transient com.google.android.gms.maps.model.LatLng mLocation; // ... private void writeObject(ObjectOutputStream out) throws IOException { out.defaultWriteObject(); out.writeDouble(mLocation.latitude); out.writeDouble(mLocation.longitude); } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); mLocation = new LatLng(in.readDouble(), in.readDouble()); } }