【问题标题】:How to Serialize a matrix如何序列化矩阵
【发布时间】:2012-01-24 12:15:28
【问题描述】:

嘿,当我尝试将对象保存到内部存储时。我不断收到错误 NotSerializableException 说我需要序列化矩阵所以我可以继续这样做吗?

【问题讨论】:

  • 如果你得到 NotSerializableException,你需要让你的矩阵类可序列化 fx。:实现一些接口......谷歌会帮助

标签: android serialization


【解决方案1】:

这取决于您在谈论哪个 Matrix 类,如果是 android.graphics.Matrix,则必须使用 getValues() 来获取包含值的数组并对其进行序列化,然后再加载数据您创建一个新的 Matrix 并以数组作为参数调用 setValues()

【讨论】:

    【解决方案2】:

    用这个类替换android.graphics.Matrix,它是可序列化的:

    public class SerializableMatrix extends Matrix implements Serializable {
    private static final long serialVersionUID = 0L;
    
    private void writeObject(java.io.ObjectOutputStream out)
            throws IOException {
        float[] f = new float[9];
        this.getValues(f);
        out.writeObject(f);
    }
    
    
    private void readObject(ObjectInputStream in)
            throws IOException, ClassNotFoundException {
        float[] f = new float[9];
        f = (float[]) in.readObject();
        this.setValues(f);
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 2020-03-10
      • 1970-01-01
      • 2019-06-29
      • 2017-08-19
      • 1970-01-01
      • 2019-04-02
      相关资源
      最近更新 更多