Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Shared Preference non salvate [Android]

    Ciao a tutti,
    sto cercando di salvare un dato nelle Shared Preference e rileggerlo al prossimo avvio dell'applicazione.
    Purtroppo sembra che il dato non venga salvato, infatti verifico in debug ed ogni volta prende il valore di defaullt.

    Questo è il codice:

    In lettura
    codice:
    private void mostraToastPrimoAvvio()
        {
            //Verifico se il comune è già stato salvato...
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
            String resultComune = prefs.getString(COMUNE_SALVATO, "nessuno");
            
            if(resultComune != "nessuno")
            {
                //Redirect a nuova activity
                /*Intent openPage1 = new Intent(this, Act2.class);
                startActivity(openPage1);    */
                
                AutoCompleteTextView itemTxtView = (AutoCompleteTextView) findViewById(R.id.autocomplete);
                itemTxtView.setText(resultComune);    
            }
        }

    e questo in scrittura

    codice:
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    				Bundle savedInstanceState) {
    			View rootView = inflater.inflate(R.layout.fragment_main, container,
    					false);			
    			
    			//Recupero il bottone di invio dati e lo gestisco
    			
    			Button btnHome=(Button) rootView.findViewById(R.id.button1);
    			final TextView txtValue = (TextView) rootView.findViewById(R.id.textView1);
    						
    						btnHome.setOnClickListener(new View.OnClickListener() {				
    							@Override
    							public void onClick(View v) {
    								// TODO Auto-generated method stub
    								
    					
    								//Salvo il comune inserito
    								SharedPreferences prefs = getActivity().getPreferences(MODE_PRIVATE);
    
    
    								Editor prefsEditor = prefs.edit();
    								prefsEditor.putString(COMUNE_SALVATO, (String) txtValue.getText());
    								prefsEditor.commit();
    								
    							
    								Intent openPage1 = new Intent(getActivity(), Act2.class);
    			                    startActivity(openPage1);
    			                    
    							}
    						});	                                                 }                        });
    Qualche consiglio?
    Ultima modifica di GANDULE; 02-09-2014 a 07:33
    Ogni popolo ha il governo che si merita...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Stai salvando in un posto e leggendo da un altro.

    Quando leggi fai questa operazione:


    codice:
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

    Che ti permette di ottenere le SharedPreferences dell'applicazione, che vengono salvate nel seguente file:
    /data/data/com.package.name/shared_prefs


    Mentre quando vai a scrivere, effettui questa operazione:


    codice:
    SharedPreferences prefs = getActivity().getPreferences(MODE_PRIVATE);

    Che permette di ottenere le SharedPreferences private per quella specifica Activity, che vengono salvate nel seguente file:
    /data/data/com.package.name/activity_name


    Quindi, devi essere coerente: o usi sempre il primo modo o sempre il secondo, perchè i due utilizzando due file diversi.


    Ciao.
    "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.