title: Saving permanent data using shared preferences?
body: <p>I am making a Highscore script for my game using Shared Preferences. I want this data to be only held for the phone it is installed on obviously. I have done the following, and the highscore shows and updates, but when I close out of the app and re open it, it resets.</p>
  
  <pre><code>            if(finalScore &gt; SharedPrefManager.getHighScore())
              SharedPrefManager.SetHighScore(finalScore);             
              SharedPrefManager.StoreToPref();
  </code></pre>
  
  <p>SharedPrefManager.java:</p>
  
  <pre><code>package com.divergent.thumbler;
  
  import android.content.Context;
  import android.content.SharedPreferences;
  
  // all methods are static , so we can call from any where in the code
  //all member variables are private, so that we can save load with our own fun only
  public class SharedPrefManager {
  //this is your shared preference file name, in which we will save data
  public static final String MY_EMP_PREFS = "MySharedPref";  
  
  //saving the context, so that we can call all 
  //shared pref methods from non activity classes. 
  //because getSharedPreferences required the context.
  //but in activity class we can call without this context
  private static Context     mContext; 
  
  // will get user input in below variables, then will store in to shared pref
  private static int         HighScore             = 0;
  
  public static void Init(Context context)
  {
      mContext         = context;
  }
  public static void LoadFromPref()
  {
      SharedPreferences settings     = mContext.getSharedPreferences(MY_EMP_PREFS, 0);
      // Note here the 2nd parameter 0 is the default parameter for private access,
      //Operating mode. Use 0 or MODE_PRIVATE for the default operation,
      HighScore = settings.getInt("HighScore", HighScore);
  
  }
  public static void StoreToPref()
  {
      // get the existing preference file
      SharedPreferences settings = mContext.getSharedPreferences(MY_EMP_PREFS, 0); 
      //need an editor to edit and save values
      SharedPreferences.Editor editor = settings.edit();
  
      editor.putInt("HighScore", HighScore); // Age is the key and mAge is holding the value
  
      //final step to commit (save)the changes in to the shared pref
      editor.commit(); 
  }
  
  public static void DeleteSingleEntryFromPref(String keyName)
  {
      SharedPreferences settings = mContext.getSharedPreferences(MY_EMP_PREFS, 0); 
      //need an editor to edit and save values
      SharedPreferences.Editor editor = settings.edit();
      editor.remove(keyName);
      editor.commit();
  }
  
  public static void DeleteAllEntriesFromPref()
  {
      SharedPreferences settings = mContext.getSharedPreferences(MY_EMP_PREFS, 0); 
      //need an editor to edit and save values
      SharedPreferences.Editor editor = settings.edit();
      editor.clear();
      editor.commit();
  }
  
  
  public static void SetHighScore(int score)
  {
      HighScore = score;
  }
  
  public static int getHighScore()
  {
      return HighScore ;
  }
  }
  </code></pre>