2011-05-30 62 views
0

因此,我尝试使用SharedPreferences来为我的游戏保存高分。它似乎总是导致一个力量关闭。将高分保存为游戏

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(new GameView(this)); 
     SharedPreferences prefs = getSharedPreferences("pref" , MODE_PRIVATE); 
     gameView.highScore = prefs.getInt("highScore", 0); 
     Editor editor = prefs.edit(); 
     editor.putInt("highScore", gameView.highScore); 
     editor.commit(); 

} 

我在GameView中使用表面视图,所以这个类只是调用它。它不会让我把SharedPreferences放到其他地方,而不用在GameView中重新划分它,所以我把它放在这里。虽然这导致它逼迫关闭。我应该如何解决这个问题。谢谢。

+1

什么异常导致该力量关闭? – nhaarman 2011-05-30 17:21:15

+0

发布错误日志,以便我们可以看到它正在发生什么行。另外,作为附注,您可以使用PreferenceManager.getDefaultSharedPreferences(context) – Geobits 2011-05-30 17:26:15

+1

从活动外部获取首选项。我没有看到gameView对象的声明?它看起来像是给NullpointerException – matsjoe 2011-05-30 18:25:00

回答

0

您是否想过使用第三方API来进行分数管理。这些时候我正打算对Ninja进行评分,但我相信还有其他许多选择。

它可以有助于提供更好的用户体验来与其他玩家进行比较,并使您的应用程序得到更多的使用。

+0

有趣的,我会看看。 – steven 2011-05-30 18:39:48