Pracuję nad aplikacją dla systemu Android. Jeśli naciśniesz przycisk Wstecz, stan mojej aplikacji powinien zostać zapisany .Co powinienem użyć, aby zapisać stan ..am mylić z tymi wszystkimi onPause()
, onResume()
lub onRestoresavedInstance()
??? z których z nich powinienem skorzystać, aby zapisać stan mojej aplikacji? Na przykład, kiedy naciśniesz przycisk wyjścia, cała moja aplikacja powinna wyjść i użyłem finish()?Zapisz stan po naciśnięciu przycisku Wstecz.
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
s1=(Button)findViewById(R.id.sn1);
s1.setOnClickListener(this);
LoadPreferences();
s1.setEnabled(false);
}
public void SavePreferences()
{
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("state", s1.isEnabled());
}
public void LoadPreferences()
{
System.out.println("LoadPrefe");
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
Boolean state = sharedPreferences.getBoolean("state", false);
s1.setEnabled(state);
}
@Override
public void onBackPressed()
{
System.out.println("backbutton");
SavePreferences();
super.onBackPressed();
}
Jeżeli czynność zamykania, należy użyć onDestroy() – Aviral
Jaki stan aplikacji chcesz zapisać? niektóre wartości pola tekstowego lub listy? – VendettaDroid
Zapisywanie wartości dla textbox lub innego ważnego interfejsu użytkownika można wykonać za pomocą sharedpreferences. Tak więc, nawet jeśli aplikacja wychodzi lub niszczy, można odczytać zapisane wartości z sharedpreferences. – VendettaDroid