SharedPreference保存对象,在取值的时候返回Null的有效解决方法
前言
使用SharedPreference保存对象的过程中遇到的问题
可以保存对象 但是取值的时候对象返回null
Log提示:
错误提示
在排错的过程中无意间切到run里看到的报错提示:
错误Log提示比较明显NotSerializableException:
如果一个可序列化的对象包含对某个不可序列化的对象的引用,那么整个序列化操作将会失败,并且会抛出一个NotSerializableException.
非静态内部类拥有对外部类的所有成员的完全访问权限,包括实例字段和方法。为实现这一行为,非静态内部类存储着对外部类的实例的一个隐式引用。序列化时要求所有的成员变量是Serializable,现在外部的类并没有implements Serializable,所以就抛出java.io.NotSerializableException异常。
问题解决方法
将javaBean实现Serializable接口即可
如果有多个内部类 都需要实现Serializable接口
实现接口后再试下SharedPreference取对象 是不是有数据了?