Autore Topic: Salvataggio dello Stato  (Letto 455 volte)

Offline bolobolo

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
Salvataggio dello Stato
« il: 14 Dicembre 2015, 12:30:10 CET »
0
Ciao a tutti, avrei un problema e non riesco a risolverlo.
La mia app è composta da due Activity, da ognuna delle quali è possibile accedere all'altra attraverso un bottone.

In una activity ho quattro SeekBar e ovviamente andando nell'altra activity per poi tornare in quella contenente le SeekBar (attraverso il bottone, e non indietro), questa si reinizializza impostando i valori a zero (come da codice).

Ho letto un pò di roba sul web e a quanto pare viene scartata l'idea di utilizzare onSaveInstanceState e onRestoreInstanceState, ma bisogna utilizzare le SharedPreferences. E' giusto questo? Se si, potreste gentilmente postarmi un esempio.

Grazie a tutti!!

Offline Klizard

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:Salvataggio dello Stato
« Risposta #1 il: 14 Dicembre 2015, 14:52:45 CET »
0
Si potresti usare le shared preference (sul forum se non ricordo male c'è un tutorial)

Offline bolobolo

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
Re:Salvataggio dello Stato
« Risposta #2 il: 15 Dicembre 2015, 14:10:39 CET »
0
un esempio rapido con le seekbar?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 716
  • Respect: +151
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Salvataggio dello Stato
« Risposta #3 il: 15 Dicembre 2015, 16:22:57 CET »
0

Qualcosa del genere:

Codice (Java): [Seleziona]
SeekBar seekBar1;
SeekBar seekBar2;
SeekBar seekBar3;
SeekBar seekBar4;

@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        seekBar1 = (SeekBar)findViewById(R.id.seek_bar_1);
        seekBar2 = (SeekBar)findViewById(R.id.seek_bar_2);
        seekBar3 = (SeekBar)findViewById(R.id.seek_bar_3);
        seekBar4 = (SeekBar)findViewById(R.id.seek_bar_4);
}

@Override
protected void onPause () {
        SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putInt("SEEKBAR1", seekBar1.getProgress());
        editor.putInt("SEEKBAR2", seekBar2.getProgress());
        editor.putInt("SEEKBAR3", seekBar3.getProgress());
        editor.putInt("SEEKBAR4", seekBar4.getProgress());
        editor.commit();
}

@Override
public void onResume() {
        SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
        seekBar1.setProgress(sharedPref.getInt("SEEKBAR1",0));
        seekBar2.setProgress(sharedPref.getInt("SEEKBAR2",0));
        seekBar3.setProgress(sharedPref.getInt("SEEKBAR3",0));
        seekBar4.setProgress(sharedPref.getInt("SEEKBAR4",0));
}
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline pietroconti89

  • Utente normale
  • ***
  • Post: 164
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note 3 N9005
  • Sistema operativo:
    Windows / Mac OSX
Re:Salvataggio dello Stato
« Risposta #4 il: 16 Dicembre 2015, 12:57:58 CET »
0
io vedrei la soluzione del  onSaveInstanceState  :-P alla fine il ciclo di vita dell activity comprende proprio quel tipo di stato quindi perchè non implementarlo ? quella delle sharedprefered la vedo solo come una roba tampone per ovviare a un problema che puoi gestire con qualcosa di dedicato .... poi ognuno agisce come si trova più comodo  ;-)

Offline bolobolo

  • Nuovo arrivato
  • *
  • Post: 11
  • Respect: 0
    • Mostra profilo
Re:Salvataggio dello Stato
« Risposta #5 il: 16 Dicembre 2015, 14:19:57 CET »
0
io vedrei la soluzione del  onSaveInstanceState  :-P alla fine il ciclo di vita dell activity comprende proprio quel tipo di stato quindi perchè non implementarlo ? quella delle sharedprefered la vedo solo come una roba tampone per ovviare a un problema che puoi gestire con qualcosa di dedicato .... poi ognuno agisce come si trova più comodo  ;-)

Ciao, non sono un gran esperto quindi per me ogni soluzione ottimale è la benvenuta. Per adesso ho utilizzato le SharedPreferences e sembra funzionare tutto molto bene. Mentre non ho capito la tua soluzione in cosa consiste.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Salvataggio dello Stato
« Risposta #6 il: 16 Dicembre 2015, 14:25:54 CET »
0
Meglio le shared per me. Metti caso che voglio ricordare il livello di equlizzazione in un player. Devo saperlo ogni volta che apro l'applicazione