当前位置: 代码迷 >> Android >> 关于对象序列化的有关问题(path不可序列化?)
  详细解决方案

关于对象序列化的有关问题(path不可序列化?)

热度:133   发布时间:2016-05-01 21:46:42.0
关于对象序列化的问题(path不可序列化?)
我的类实现如下
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;
  相关解决方案