我正在开发一个项目,因为我正在创建一个静态class's object
。所以当我switch off device at that time all the static objects are cleared
时,我想存储到shared preference
。所以我可以再次使用它。是否可以将其保存在共享首选项中?
或者在重启设备后使用该对象的任何其他可能性?
答案 0 :(得分:4)
答案 1 :(得分:2)
您无法在SharedPreferences中保存特定类型的对象。根据{{3}}接口,您只能保存原始数据类型,如:浮点数,整数,字符串,字符串集或布尔值。
答案 2 :(得分:1)
你当然可以存储/恢复静态类SharedPreferences(vis序列化)的状态但是你需要一个Application / Activity上下文才能做到这一点,这意味着你有效地将静态类绑定到非实例静态(应用程序/活动)类。
在设计方面有点奇怪 - 你的Static类会突然变得更有意义被你的Activity直接创建(实例化),加载(恢复)和保存(存储)?
否则,当状态为无意义时,存在访问它的可能性 - 这是静态对象的性质吗?
答案 3 :(得分:-1)
你不能直接存储类对象(除了内置的String,Boolean,integer等...)
但您可以优先存储静态类中的变量。
例如
当您的设备关闭时,您必须将静态类的所有值复制到首选项
在启动完成时,您可以从首选项中检索所有值到静态对象,或者在重新创建静态对象时,您可以从首选项中获取值到静态对象。