Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中将自定义对象写入文件_Android_File_Object_Serializable_Objectoutputstream - Fatal编程技术网

如何在Android中将自定义对象写入文件

如何在Android中将自定义对象写入文件,android,file,object,serializable,objectoutputstream,Android,File,Object,Serializable,Objectoutputstream,如果更改为Map,它会成功工作,它是否与我的自定义DrawPath类相关?如何将此对象写入文件成功?谢谢确保您写入文件的所有对象都是可序列化的,保存绘图对象可能是问题确保您写入文件的所有对象都是可序列化的,保存绘图对象可能是问题请将日志猫的错误日志与您的问题一起发布。通过尝试{out.writeObject(savedPath);}catch捕获它(IOException e){//TODO自动生成的捕获块e.printStackTrace();}嗯,控制台选项卡附近有一个logcat选项卡。当

如果更改为
Map
,它会成功工作,它是否与我的自定义DrawPath类相关?如何将此对象写入文件成功?谢谢

确保您写入文件的所有对象都是可序列化的,保存绘图对象可能是问题

确保您写入文件的所有对象都是可序列化的,保存绘图对象可能是问题

请将日志猫的错误日志与您的问题一起发布。通过尝试{out.writeObject(savedPath);}catch捕获它(IOException e){//TODO自动生成的捕获块e.printStackTrace();}嗯,控制台选项卡附近有一个logcat选项卡。当应用程序崩溃时,您捕获的错误会打印在那里。请在应用程序崩溃时在您的logcat中找到所有错误代码和字符串,并将其与您的问题粘贴在一起。您知道我应该保存Paint吗?或者如何序列化除DrawPath类以外的其他对象?请发布您的logcat错误记录您的问题。它由try{out.writeObject(savedPath);}catch(IOException e){//TODO自动生成的catch块e.printStackTrace();}捕获嗯,控制台选项卡附近有一个logcat选项卡。当应用程序崩溃时,您捕获的错误会打印在那里。请在应用程序崩溃时在您的logcat中找到所有错误代码和字符串,并将其与您的问题粘贴在一起。您知道我应该保存Paint吗?或者除了DrawPath类之外,其他对象如何序列化?我应该如何保存Paint?或者如何保存Paint除了DrawPath类之外的其他对象是否可序列化?非常感谢!我应该如何保存Paint?或者除了DrawPath类之外的其他对象是否可序列化?非常感谢!
private Map<String, List<DrawPath>> savedPath= new LinkedHashMap<String, List<DrawPath>>();
public static class DrawPath implements Serializable{
        /**
         * 
         */
        public static final long serialVersionUID = 1L;
        public Path path;
                public Paint paint;
      }

 ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(sdFile));

out.writeObject(savedPath); // throws IOExcption