我有一个非常好奇的请求,因为大多数人从未处理过这个问题。
每次我的应用运行时,我都会得到一个值,比如ScoreActivity.score
(其中ScoreActivity
是值出现的活动,score
是实际值。每当我达到此特定活动时,请说ResultActivity
,我需要将ScoreActivity.score
存储为变量。
int var1 = ScoreActivity.score
现在,这是问题所在。我希望每次用户执行此游戏时ScoreActivity.score
都存储为不同的变量。所以说用户通过游戏,在score
获得ScoreActivity
,然后转到ResultActivity
页面。我希望将此ScoreActivity.score
存储为
int var1 = ScoreActivity.score
但是,下次用户完成游戏并获得分数时,我希望将ScoreActivity.score
存储为
int var2 = ScoreActivity.score
此外,我希望var1
中的值保留为第一个ScoreActivity.score。有谁知道我会怎么做呢?
答案 0 :(得分:0)
好的,在简单的Java中(在您的应用中没有任何与Android存储相关的内容,我真的可以说很多,因为我从未尝试过这么做。),我看到了几个方法这样做。
String scores = score1 + "|" + score2 + "|" + ScoreActivity.score;
您只需要使用正则表达式解析文本以获取正确的信息。当然,订购内部信息并不是最好的。其他人可能会提供更好的建议,将其存储在应用程序中,但这基本上就是我用Java做的方式。我会亲自前往第二个,收藏。
希望有所帮助!
编辑:正如有人所说,您可以使用数据库存储数据,也可以将其放在文件中。这是第四个解决方案,您可以将数据(加密与否,由您自己决定)放入文件中,稍后再检索。
答案 1 :(得分:0)
如果您担心应用关闭并重新启动,并以某种方式恢复特定活动的分数,您可能希望使用一些持久存储。
有点不清楚您的参数,但假设用户通过ScoreActivity的每个会话生成一个唯一的分数,您想要绑定到特定的活动,您可以将值存储在SharePreferences中并在以后检索它您使用特定标识符启动活动。
参考此处:http://developer.android.com/reference/android/content/SharedPreferences.html
所以你基本上都要存储像{" scoreSession1",10}这样的KV对。