可以将任何SharedPreferences值作为String检索吗?

时间:2016-02-29 07:54:09

标签: java android

SharedPreferences提供putget访问权限,用于存储BooleanFloatIntegerLong和{{} 1}}。由于它们都保存在xml文件中,是否可以安全地假设String将非String值作为String返回而不抛出任何异常?

3 个答案:

答案 0 :(得分:1)

您可以尝试一下,但根据doc

  

String getString(String key, String defValue)

     

返回首选项值(如果存在)或defValue。 如果存在名称不是字符串的首选项,则会引发ClassCastException。

所以:不。

答案 1 :(得分:0)

将值存储为字符串,并从SharedPreference中以字符串形式获取。你可以做到这一点。

答案 2 :(得分:0)

是的,sharedPreferences将返回与其存储的数据类型相同的值。如果我们使用:sharedPreferences.putString(" tag"," 1111"),。getString()将返回1111作为字符串。 并且,如果我们使用sharedPreference.putInt(" tag",1111),。getInt()将返回1111作为int。