Autore Topic: Shared Preferences  (Letto 368 volte)

Offline triplerre

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Shared Preferences
« il: 29 Novembre 2016, 16:41:10 CET »
0
Ciao a tutti, sono ore che cerco di documentarmi sulle Shared Preferences con insuccesso. Trovo molti esempi online, ma pochi che spiegano cosa realmente succede.

Vorrei un semplice codice che ad esempio salvi il valore del Bg inserito in un Edit. In modo che la volta successiva l'Activity parta con quel colore. In caso di mancanza parte un default.
Soprattutto quasi nessuno parla di come prelevare questo dato per l'avvio successivo.

Vi ringrazio
« Ultima modifica: 29 Novembre 2016, 16:42:48 CET da triplerre »

Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Shared Preferences
« Risposta #1 il: 29 Novembre 2016, 17:31:29 CET »
0
Scusami ma la tua richiesta non ha nessun senso, le Shared Preferences sono relativamente facili da capire, non riesco a concepire come è possibile che "ci hai speso ore" e non hai capito come funzionano....

In più stai chiedendo del codice di esempio per quello che dovresti fare ... Hmm non è che non hai voglia di scriverlo? :P

https://www.tutorialspoint.com/android/android_shared_preferences.htm Più chiaro di così.

sharedpreferences - Android Shared preferences example - Stack Overflow Ulteriore esempio...

Se continui ad avere dubbi, sii più specifico.
« Ultima modifica: 29 Novembre 2016, 17:34:44 CET da LinkOut, Reason: Integrating answer »

Offline triplerre

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Shared Preferences
« Risposta #2 il: 29 Novembre 2016, 19:11:50 CET »
0
Scusami ma la tua richiesta non ha nessun senso, le Shared Preferences sono relativamente facili da capire, non riesco a concepire come è possibile che "ci hai speso ore" e non hai capito come funzionano....

In più stai chiedendo del codice di esempio per quello che dovresti fare ... Hmm non è che non hai voglia di scriverlo? :P

https://www.tutorialspoint.com/android/android_shared_preferences.htm Più chiaro di così.

sharedpreferences - Android Shared preferences example - Stack Overflow Ulteriore esempio...

Se continui ad avere dubbi, sii più specifico.

Hai ragione, non ero attento. Come posso cambiare colore di sfondo?

String provatesto = getPreferences(MODE_PRIVATE).getString("prova",null);
        testo.setText(provatesto);
        RelativeLayout BG= (RelativeLayout) findViewById(R.id.activity_main);
        BG.setBackgroundColor(Color.provatesto); //QUI MI DA ERRORE SU PROVATESTO

Mi da errore su color.provatesto.



Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Shared Preferences
« Risposta #3 il: 30 Novembre 2016, 08:40:00 CET »
0
Ciao, mi sa che stai facendo ancora confusione...

Codice (Java): [Seleziona]
       
// Questo colore dovrebbe essere: #ff4545 (per esempio)
String provatesto = getPreferences(MODE_PRIVATE).getString("prova",null);
testo.setText(provatesto); //Qui stai settando ad una TextView il color (#ff4545)
//Qui stai prendendo il riferimento al tuo RelativeLayout
RelativeLayout BG= (RelativeLayout) findViewById(R.id.activity_main);
//Usando Color. stai usando android.graphics.Color quindi "provatesto"
//deve essere dichiarata dentro values, colors:
//<color name="provatesto">#ff4545</color>
//Quindi quello che devi fare per usare l'HEX è: Color.parseColor(provatesto)
BG.setBackgroundColor(Color.parseColor(provatesto)); //QUI MI DA ERRORE SU PROVATESTO

Offline triplerre

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Shared Preferences
« Risposta #4 il: 04 Dicembre 2016, 11:02:09 CET »
0
Ciao, mi sa che stai facendo ancora confusione...

Codice (Java): [Seleziona]
       
// Questo colore dovrebbe essere: #ff4545 (per esempio)
String provatesto = getPreferences(MODE_PRIVATE).getString("prova",null);
testo.setText(provatesto); //Qui stai settando ad una TextView il color (#ff4545)
//Qui stai prendendo il riferimento al tuo RelativeLayout
RelativeLayout BG= (RelativeLayout) findViewById(R.id.activity_main);
//Usando Color. stai usando android.graphics.Color quindi "provatesto"
//deve essere dichiarata dentro values, colors:
//<color name="provatesto">#ff4545</color>
//Quindi quello che devi fare per usare l'HEX è: Color.parseColor(provatesto)
BG.setBackgroundColor(Color.parseColor(provatesto)); //QUI MI DA ERRORE SU PROVATESTO

Ti ringrazio per l'aiuto. Volevo farti un'ultima domanda. Dovrei salvare due valori da radiobutton  che vengono prelevati dentro all'evento click di un buttone.
Mi spiego meglio. Ho un bottone che prende i valori dei due radiobutton e li mostra a video. Mi servirebbe salvare questi due valori, ma al momento del salvataggio mi mette "Null" all'interno della variabile.


Prendendo il valore cosi: final String type=rb1.getText().toString();
O cosi: type=rb1.getText().toString(); Dichiarando type all'esterno dell'oncreate, cercando di salvarlo nelle shared mi prende null.

Probabilmente sbaglio qualcosa io nella dichiarazione della variabile o nel portarla fuori dall'evento on click.

Grazie

Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Shared Preferences
« Risposta #5 il: 05 Dicembre 2016, 08:49:32 CET »
0
Guarda questo tutorial: Android radio buttons example