How to save the value of a variable in Android Studio?

Asked

Viewed 558 times

1

I am developing a small game just for friends and do some tests, the problem is that I know virtually nothing of programming and got stuck in the data saving part. I have read several times and seen some examples but I could not make it work with my code. I basically want to save the value of "Losers by touch".

private Button botaoperder;
private TextView derrotas;
public int contador = 0;


@Override
protected void onCreate(final Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    botaoperder= findViewById(R.id.botao1);
    derrotas= findViewById(R.id.derrotas00);

    botaoperder.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            contador++;
            derrotas.setText("Derrotas por toques: " + contador);


        }
    });



}

}

2 answers

1

try something like:

import android.content.SharedPreferences;

...

private Button botaoperder; 
private TextView derrotas;
private SharedPreferences preferences;
private SharedPreferences.Editor editor;
public int contador = 0;


@Override
protected void onCreate(final Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    preferences = getSharedPreferences("JogoToque", MODE_PRIVATE);

    editor = preferences.edit();

    botaoperder = findViewById(R.id.botao1);
    derrotas    = findViewById(R.id.derrotas00);

    contador = preferences.getInt("derrotas", 0);
    derrotas.setText("Derrotas por toques: " + contador);

    botaoperder.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        contador++;
        derrotas.setText("Derrotas por toques: " + contador);
        editor.putInt("derrotas", contador);
        editor.commit();
      }
    });
}
  • It worked perfectly, thank you.

0

Giving a few more tips:

 @Override
protected void onCreate(final Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

  //Aqui é onde suas variaveis são "carregadas"
    preferences = getSharedPreferences("JogoToque", MODE_PRIVATE);
//Editor que permite você modificar os dados
    editor = preferences.edit();

    botaoperder = findViewById(R.id.botao1);
    derrotas    = findViewById(R.id.derrotas00);
//Aqui você atribui a sua variável contador o valor anteriormente salvo, através da key "derrotas"
    contador = preferences.getInt("derrotas", 0);
    derrotas.setText("Derrotas por toques: " + contador);

    botaoperder.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        contador++;
        derrotas.setText("Derrotas por toques: " + contador);

      //Aqui você atribui a key "derrotas" o valor contido na int contador 
        editor.putInt("derrotas", contador);

      //Aqui você de fato "salva"
        editor.commit();
      }
    });
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.