Code Bye

Android sharedpreferences遇到一个奇怪的问题,请大神解释下

 

最近在工程中遇到一个奇葩的问题:
存储数据
mContext.getSharedPreferences(KEY, Context.MODE_PRIVATE).edit().putLong(ID, value).commit();
然后通过:
mContext.getSharedPreferences(KEY, Context.MODE_PRIVATE).getLong(ID, -1);取出数据

但是,第一次运行OK,读取都没有问题,退出再次进入使用就有问题了:
在获取数据时,直接报错:java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
这是神马问题,请大神指点下!

20分
这个错误是强制转换的错,意思string不能强转为long。你贴完整一点呢
引用 1 楼 u010668114 的回复:

这个错误是强制转换的错,意思string不能强转为long。你贴完整一点呢

找到问题了,是我SB的把两组get中的KEY写成了一个字段,所以导致存入的是string,而读出来的是long

睡了一觉起来找到问题了
是我SB的把两组get中的KEY写成了一个字段,所以导致一组存入的是string类型,而用另一组读出来的是long类型,已解决

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Android sharedpreferences遇到一个奇怪的问题,请大神解释下