Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Perchè il titolo è "Applicazione in background" se la discussione verte sul salvataggio di dati in chiusura dell'app?

    Ad ogni modo, esistono diversi modi per "salvare informazioni" all'interno di una App Android... il più semplice consiste nell'usare le SharedPreferences (un meccanismo "nativo" di Android).

    Va ridefinito il metodo onPause() dell'Activity (perchè tale metodo è il primo che viene chiamato appena prima della chiusura dell'Activity stessa... poi possono essere chiamati onStop() e onDestroy(), ma da quel che so possono anche non venire chiamati se è il sistema a killare l'Activity, quindi onPause() è sicuramente il posto migliore in cui fare l'operazione) e al suo interno si deve ottenere l'oggetto SharedPreferences.

    codice:
    @Override
    public void onPause() {
       // Ottengo l'oggetto SharedPreferences che io decido di chiamare "pippo", di tipo privato
       SharedPreferences pref = getSharedPreferences("pippo", MODE_PRIVATE);
    
       //Ottengo l'editor delle SharedPreferences
       Editor editor = pref.edit();
    
       // Ci scrivo dentro il valore String che voglio salvare (la mia variabile "pippoStr")
       editor.putString("miaStringa", pippoStr);
       ...   // Ci posso scrivere tutte le cose che voglio
    
       // Effettuo il commit delle modifiche
       editor.commit();
    }

    Le SharedPreferences sono un sistema semplice da usare: memorizzano una serie di coppie chiave -> valore per qualunque tipo "primitivo" più stringhe e Set<String>.

    Le SharedPreferences possono essere di diverse tipologie: l'esempio che ho fatto io ottiene (e crea se non esiste) una SharedPreference chiamata "pippo" di tipo "privato" (accessibile, cioè, solo da quella Activity). La documentazione è più che esaustiva su queste cose.

    Per andare a ripescare i dati al successivo avvio della Activity è sufficiente ri-ottenere l'oggetto SharedPreferences e tramite i relativi metodi getter ottenere le informazioni che si sono precedentemente salvate in esso.


    Ciao.
    Ultima modifica di LeleFT; 13-12-2016 a 18:06
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.