0

我正在创建一个记忆游戏。用户完成游戏后,可以开始新的游戏。为了玩新游戏,我决定再次调用活动本身。但是,当再次调用活动时,分数会回到 0,因为它是初始化的。我想知道是否可以保存以前的分数并防止被覆盖,即使我再次调用相同的活动。

 Check.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {

            Answer.setText("You got "+Integer.toString(correct)+" correct answers.");

        } 
  });

   newGame.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {


            Intent i = new Intent(Game.this, Game.class);
            i.putExtra("name", name);
            startActivity(i);
4

1 回答 1

0

SharedPreferences的,用于存储分数。这是存储简单但持久数据的一种非常好的方法。文档有一个很好的例子来说明如何做到这一点。您将它们保存在您的onClick()或任何您想要的地方。然后,您可以在启动Activity. 如果是这样,那么您就可以使用旧分数来做任何您想做的事情。

基本步骤是通过创建一个实例来存储它们SharedPreferences.Editor(请确保commit()在写入首选项后调用。然后您使用该getSharedPreferences方法在您的第一个中检索它们Activity。该链接有一个很好的使用它们的示例。

完整的 SharedPreference 文档

如果您不需要在应用程序关闭时保留数据并且取决于您正在使用它做什么,您也可以将它作为您使用extraIntent类似方式传递,nameSharedPreferences根据您的需要可能会更好。

于 2013-09-01T02:11:30.927 回答