我的Android应用程序不存储高分

时间:2014-11-04 17:22:40

标签: android sharedpreferences

我正在Android中开发一款简单的游戏,即使我按照网络中的步骤操作,我的应用程序的高分也永远不会保存。我正在使用SharedPreferences来存储,但我很清楚问题就在那里,因为我根本不明白如何使用它。希望你们能帮助我,谢谢。

    package com.example.memory;
    import android.app.Activity;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;

public class Final extends Activity implements OnClickListener{
    TextView levelReachedText;
    TextView bestScoreText;
    int levelReached, bestScore;    
    Intent intent;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.finals);
        levelReachedText = (TextView) this.findViewById(R.id.nivel);
        bestScoreText = (TextView) this.findViewById(R.id.best);
        Button menu = (Button) findViewById(R.id.inicio);
        menu.setOnClickListener(this);
        intent = getIntent();
        levelReached = intent.getIntExtra("nivel", 1);
        SharedPreferences preferences = this.getSharedPreferences("bestScore", MODE_PRIVATE);
        int savedScore = preferences.getInt("selectedScore", 0);

        levelReachedText.setText("You reached level "+levelReached );
        if(savedScore>levelReached){
            bestScore = savedScore;
        }else{
            bestScore = levelReached;
        }
        bestScoreText.setText("Maximum level reached "+levelReached);


}
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.inicio:
                SharedPreferences preferences = this.getSharedPreferences("mejorScore", MODE_PRIVATE);
                preferences.edit().putInt("selectedScore", bestScore).commit();
                this.finish();
                break;
        }
    }

}

1 个答案:

答案 0 :(得分:3)

您正在mejorScore中保存得分值并尝试从bestScore获取。所以要么改变

SharedPreferences preferences = this.getSharedPreferences("mejorScore", MODE_PRIVATE);

SharedPreferences preferences = this.getSharedPreferences("bestScore", MODE_PRIVATE);

反之亦然。