我在OnCreate中调用一个方法,如下所示
1 / 3
此方法定义
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
GetScore();
现在我要做的是将json字符串的值存储在onSuccess方法内的fetchlivescore textview中 但我想在Oncreate方法上也使用这个值,即当我下次显示一个toast或一个包含与Onsuccess方法中存储的相同值的textview时打开应用程序。 我怎么能实现这个目标?我已经尝试了很多东西,但没有任何作用,因为下次在oncreate方法中没有显示存储的值,它总是显示为空
答案 0 :(得分:0)
我会使用SharedPreferences
。它是一个键值 - 存储的内容和内容在应用程序重新启动时保持不变。
答案 1 :(得分:0)
保存分数的一种方法是在onSuccess()
方法中使用SharedPreferences。
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("key_score", score);
editor.commit();
在onCreate()
中,您只需阅读存储的值。
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
String score = sharedPref.getString("key_score");
如果您在活动中 - 请使用this
代替getActivity()
。
答案 2 :(得分:0)
如果您希望稍后将该值存储在某处,则需要将该值存储在某处。 如果它只是单个值,那么SharedPreferences可能是解决方案:
var hints = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace("value"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: "/ProjectAssociation/CountryLookup?query=%QUERY",
wildcard: "%QUERY"
}
});
$("#assocStoragesSelection").typeahead(null, {
name: "nations",
limit: 90,
valueKey: "ShortCode",
displayKey: "Name",
source: hints,
templates: {
empty: [
"<div class='noitems'>",
"No Items Found",
"</div>"
].join("\n")
}
});
在onResume中,您可以使用以下内容设置TextView:
SharedPreferences prefs = getSharedPreferences("preferences...", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("score", score);
editor.commit();