I am trying to save a username for game in preferences (first time user enters the game, registration screen shows up, and after that whenever user enters the game, username is automatically synchronized).

i tried the following // in create() method of game class userPreferences = Gdx.app.getPreferences("userPrefs");

then, in my registration stage

enter.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); user.username = usernameField.getText(); PanBallGame.getGameInstance().userPreferences.putString("username", user.username); user.requestPath = "/addUser"; new RequestObserver(user); } });

but this doesn't save the username in preferences. Can anyone explain how to get this work ? Thank you .


You are missing flush command after put command.

public class GameManager {
  private static final String RESULT_BEST = "BEST_RESULT";
  public String userID;
  private Preferences PREFS;
  public static final GameManager INSTANCE = new GameManager();
  int result;
  private GameManager() {
    PREFS = Gdx.app.getPreferences(GameManager.class.getSimpleName());
    userID = "XXXX";

  public void setBestResult(int result) {
    PREFS.putInteger(RESULT_BEST, result);
    PREFS.flush();  //THIS IS MISSING

 public int getBestResult() {
    return PREFS.getInteger(RESULT_BEST, 0);



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.