我正在更新我的Android应用程序。该应用程序从我的服务器检索数据,其中有一个用户ID。用户ID是一个数字(整数),但它是作为字符串从服务器到达的,例如“1234”。然后,在旧版本中,我将此用户ID保存为共享偏好中的字符串,但是现在回首它,我不喜欢这样,而是希望将其保存为Integer。
到目前为止,非常简单。我只使用putInt/getInt而不是putString/getString。问题在于,当前使用该应用程序的所有人都将其值保存在他们的共享首选项中,作为字符串,然后当他们更新该应用程序时,新版本的应用程序将开始尝试使用getInt来获取旧的值。版本保存为字符串。
避免因此而导致任何错误并确保两个应用程序版本之间的平滑过渡的最佳方法是什么?
谢谢。
最佳答案
在您的onCreate中是这样的:
try{
prefs.getInt("key", 0);
}catch (ClassCastException e){
Integer uid = Integer.parseInt(prefs.getString("key", null);
if(uid != null)
prefs.edit().putInt("key", uid).commit();
}
关于android - 将Android共享的首选项值从字符串更改为Int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32844398/