2014-02-27 29 views
0

我對Android開發非常新穎。我正在創建一個包含框架,框架實現和主遊戲的遊戲。Android使用SharedPreferences節省高分

我想保存我的高分。 得分保存在Projectile.HowManyHits這也是射擊導彈的類。 延伸ActivityFramework.implementation.AndroidGame運行。

據我所知,SharedPrefs必須從活動內運行,因爲它是上下文的一部分。

我創建了一個名爲:Scores的新類。在這個課上,我想運行保存或得到高分的函數。

當我不使用extends activity(或Application)時,它不會識別getSharedPreferencesMODE_PRIVATE

所以主要問題是:如何創建一個處理SharedPreferences保存的類,以及如何在GameScreen中運行(這是整個遊戲的繪製等)調用方法以及保存高分。

+1

你可以包括你有相關的代碼?這將幫助我們指出你正確的方向。 – Tyler

+0

有關在SharedPreferences中保存高分的遊戲示例,請參閱Android Breakout(https://code.google.com/p/android-breakout/)。它從GameActivity更新。遊戲本身通過'GLSurfaceView'在一個單獨的非活動線程上運行,因此它在特定時間被鎖定。無論你是否需要做類似的事情取決於你的遊戲結構。 – fadden

回答

3

你不能有「搜索狗屎了谷歌」很好,下次得到一些趟手。

How do I use sharedPreferences outside of an Activity?

public class Model { 

    private final SharedPreferences sharedPrefs; 

    public Model(Context context) { 
     sharedPrefs = context.getSharedPreferences("name", 0); 
    } 

    private String doSomething(){ 
     return sharedPrefs.getString("key", "defValue"); 
    } 
} 
+0

我發現那篇關於模型類的文章。 我已經解決了來自Android BreakoutGame的示例的問題。 在AndroidGame.java中包含正確的代碼(其中調用Activity)。 Thx Fadden。 – Switchzor