我的类实现如下
- Java code
class MyData implements Serializable { int flag; //设置颜色 public float[] line_strt_x; public float[] line_strt_y; public float[] line_end_x; public float[] line_end_y; public int point01_cur; //矩形 public float[] rect_strt_x; public float[] rect_strt_y; public float[] rect_end_x; public float[] rect_end_y; public int point02_cur; //椭圆 public float[] oval_strt_x; public float[] oval_strt_y; public float[] oval_end_x; public float[] oval_end_y; public int point03_cur; //随意画 public float mx, my; public Path path; public MyData() { flag = 2; line_strt_x = new float[30]; line_strt_y = new float[30]; line_end_x = new float[30]; line_end_y = new float[30]; point01_cur = 0; //矩形 rect_strt_x = new float[30]; rect_strt_y = new float[30]; rect_end_x = new float[30]; rect_end_y = new float[30]; point02_cur = 0; //椭圆 oval_strt_x = new float[30]; oval_strt_y = new float[30]; oval_end_x = new float[30]; oval_end_y = new float[30]; point03_cur = 0; path = new Path(); } };
之后用
- Java code
fos = openFileOutput(str+".dat", Context.MODE_PRIVATE); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(myview.mydata); oos.flush();
将对象序列化写入字节流,但catch到如下的错误
java.io.NotSerializableException: android.graphics.Path
请问这个错误原因是什么~~~应该怎么解决~感激不尽~~
------解决方案--------------------
加一个serialVersionUID试试,
不过序列化里面的自定义数据类型也要序列化的,Path我就不知道了
不行的话写一个path子类实现序列化试试。
------解决方案--------------------
- Java code
public Path path;