Salve a tutti volevo chiedervi aiuto per avere alcuni chiarimenti del codice semplicissimo cambia il testo cliccando un bottone e quando il telefono viene ruotato il testo non si resetta ma rimane invariato cosi come è stato cambiato alla pressione del bottone.
public class MainActivity extends AppCompatActivity {
 private SharedPreferences mPrefs;
 private String mCurrentString;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button b = (Button) findViewById(R.id.button);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TextView tv = (TextView) findViewById(R.id.textView);
                tv.setText("Hai cliccato il pulsante");
            }
        });
      
  mPrefs = getSharedPreferences("lorenzo",MODE_PRIVATE);
 cosa fa questa riga e i relativi metodi e parametri  
      
  mCurrentString = mPrefs.getString("view_mode","Clicca il pulsante");
come mai bisogna fare questa uguaglianza inserendo la stringa chiave "view_mode" e la stringa di default "Clicca il pulsante"che corrispone al testo della stringa prima che il pulsante venisse cliccato
      TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(mCurrentString);
    }
    @Override
    protected void onStart() {
        super.onStart();
    }
    @Override
    protected void onResume() {
        super.onResume();
    }
    @Override
    protected void onPause() {
        super.onPause();
   
  SharedPreferences.Editor ed = mPrefs.edit(); 
 Cosa fa questa riga di codice con i relativi metodi
        TextView tv = (TextView) findViewById(R.id.textView);
     
 ed.putString("view_mode", tv.getText().toString());
Cosa serve "view_mode" dovrebbe essere una sorta di chiave ?
 ed.commit();
    }
    @Override
    protected void onRestart() {
        super.onRestart();
    }
    @Override
    protected void onStop() {
        super.onStop();
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}