Java 不能';t save“;“长”;共同偏好
我将“long”保存在SharedReference中,如下所示:Java 不能';t save“;“长”;共同偏好,java,android,preference,Java,Android,Preference,我将“long”保存在SharedReference中,如下所示: SharedPreferences preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putLong("startTime", startTime);
SharedPreferences preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putLong("startTime", startTime);
editor.commit();
preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
long getstartTime = preferences.getLong(startTime, 0);
并从SharedReference检索“long”,如下所示:
SharedPreferences preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putLong("startTime", startTime);
editor.commit();
preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
long getstartTime = preferences.getLong(startTime, 0);
但我在检索时得到了值“0”……猜猜我哪里出错了?这是:
long getstartTime = preferences.getLong(startTime, 0);
应该是
long getstartTime = preferences.getLong("startTime", 0);
Android将
startTime
解释为一个资源id,因为它没有找到它,所以您得到了您传入的默认值作为returnvalue。您应该将相同的键传递给getLong()
方法,即literal“startTime”
long getstartTime = preferences.getLong("startTime", 0);
您错过了一对“”:preferences.getLong(“startTime”,0);啊…是的,谢谢…我也在想…我没有得到编译错误,早些时候我也在尝试同样的方法,但是将“getLong”更改为“getString”会出现错误,这很奇怪…起初我还希望oyu得到编译错误,但后来我记得可以通过资源ID加载字符串,所以我给出了解释。:)您应该将答案标记为已接受,以便其他用户也能识别类似问题的解决方案。谢谢Devlus,您能告诉我在哪里接受吗。我从来没有试过。我相信这对其他开发人员会很有帮助。答案左边是小的上下箭头。在这里,你可以投票决定一个答案或一个问题是好是坏。如果你得到了自己问题的答案,你也会在这些箭头下面看到一个复选标记。在这里你可以接受答案。您应该阅读这些链接,因为它们将更详细地回答这些问题:谢谢Devulus…我做到了:)