首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2012-03-27 
关于对象序列化的问题(path不可序列化?)我的类实现如下Java codeclass MyData implements Serializable {i

关于对象序列化的问题(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; 

热点排行