Autore Topic: Settings  (Letto 678 volte)

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Settings
« il: 09 Settembre 2013, 19:54:41 CEST »
0
Ciao a tutti,

Sto cercando un modo per creare dei settings per la mia applicazione... più che settings in questo momento vorrei
che "checkando"(?) una chekbox mi salvasse l'email e la password per il login.

Mi sapete dire come posso fare.. ho cercato ovunque..

Offline matttt

Re:Settings
« Risposta #1 il: 09 Settembre 2013, 20:13:56 CEST »
0
Allora non hai cercato bene :)
Scherzi a parte... il sistema più comodo secondo me è usare una PreferenceActivity:
PreferenceActivity | Android Developers

Ti gestisce lui il salvataggio delle preferenze tramite SharedPreferences e l'interfaccia è quella standard android per le impostazioni.
Le mie apps su Google Play Store:

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Settings
« Risposta #2 il: 09 Settembre 2013, 20:53:09 CEST »
0
Allora non hai cercato bene :)
Scherzi a parte... il sistema più comodo secondo me è usare una PreferenceActivity:
PreferenceActivity | Android Developers

Ti gestisce lui il salvataggio delle preferenze tramite SharedPreferences e l'interfaccia è quella standard android per le impostazioni.

Già che ci sei guarda anche i PreferenceFragment.
Settings | Android Developers

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:Settings
« Risposta #3 il: 09 Settembre 2013, 21:18:21 CEST »
0
Scusate ma io sono nuovo su questo campo potete spiegarmi come funzionano?

Offline matttt

Re:Settings
« Risposta #4 il: 09 Settembre 2013, 21:33:50 CEST »
0
Prepari un'activity di questo tipo:
Codice (Java): [Seleziona]
public class ActivitySettings extends PreferenceActivity
{
        @Override
        protected void onCreate( Bundle savedInstanceState )
        {
                super.onCreate( savedInstanceState );
                addPreferencesFromResource( R.layout.preferences );
        }
}

E un layout (preferences.xml) di questo tipo (metto dei riferimenti alle stringhe):
Codice (XML): [Seleziona]
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
        <PreferenceCategory android:title="@string/gruppo_pref">
                <CheckBoxPreference
                        android:key="chiave_pref1"
                        android:title="@string/titolo_pref1"
                        android:summary="@string/desc_pref1"
                        android:defaultValue="true"
                />
                <EditTextPreference
                        android:key="chiave_pref2"
                        android:title="@string/titolo_pref2"
                        android:summary="@string/desc_pref2"
                        android:dialogTitle="@string/titolo2_pref2"
                        android:defaultValue="1234"
                        android:inputType="number"
                />
        </PreferenceCategory>
</PreferenceScreen>

Da una qualsiasi activity la richiami nel modo standard:
Codice (Java): [Seleziona]
Intent intent = new Intent( this, ActivitySettings.class );
startActivity( intent );

Mentre per caricare i valori salvati nelle impostazioni dalla tua activity:
Codice (Java): [Seleziona]
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( this );
prefs.getBoolean( "chiave_pref1", true );
prefs.getString( "chiave_pref2", "0" );
Le mie apps su Google Play Store:

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:Settings
« Risposta #5 il: 09 Settembre 2013, 21:51:00 CEST »
0
Prepari un'activity di questo tipo:
Codice (Java): [Seleziona]
public class ActivitySettings extends PreferenceActivity
{
        @Override
        protected void onCreate( Bundle savedInstanceState )
        {
                super.onCreate( savedInstanceState );
                addPreferencesFromResource( R.layout.preferences );
        }
}

E un layout (preferences.xml) di questo tipo (metto dei riferimenti alle stringhe):
Codice (XML): [Seleziona]
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
        <PreferenceCategory android:title="@string/gruppo_pref">
                <CheckBoxPreference
                        android:key="chiave_pref1"
                        android:title="@string/titolo_pref1"
                        android:summary="@string/desc_pref1"
                        android:defaultValue="true"
                />
                <EditTextPreference
                        android:key="chiave_pref2"
                        android:title="@string/titolo_pref2"
                        android:summary="@string/desc_pref2"
                        android:dialogTitle="@string/titolo2_pref2"
                        android:defaultValue="1234"
                        android:inputType="number"
                />
        </PreferenceCategory>
</PreferenceScreen>

Da una qualsiasi activity la richiami nel modo standard:
Codice (Java): [Seleziona]
Intent intent = new Intent( this, ActivitySettings.class );
startActivity( intent );

Mentre per caricare i valori salvati nelle impostazioni dalla tua activity:
Codice (Java): [Seleziona]
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( this );
prefs.getBoolean( "chiave_pref1", true );
prefs.getString( "chiave_pref2", "0" );

Scusa, ho altre 2 domande.. (Perdonami ma come ho detto sono alle prime armi)
1) A che server su prefs.getString("stringa", "stringa_?") la 2° stringa ("stringa_?") a che serve?
2) Come faccio a settare le preferenze se non esiste per esempio setString?

Offline matttt

Re:Settings
« Risposta #6 il: 09 Settembre 2013, 22:01:15 CEST »
0
Se sei alle prime armi forse ti conviene comprare qualche libro su Android o studiare alcuni tutorial e fare un po' di pratica, non sono cose complicate queste ma neppure semplicissime se non si conosce il sistema almeno un poco.

Comunque:
- il secondo parametro dei getXXX (ce n'è uno per tipo) è il valore di default, se quella preferenza non è stata salvata carica quel valore;
- non hai bisogno di salvare le preferenze perchè ci pensa già la PreferenceActivity, per quello è comodo :)
Le mie apps su Google Play Store:

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:Settings
« Risposta #7 il: 09 Settembre 2013, 22:31:55 CEST »
0
Se sei alle prime armi forse ti conviene comprare qualche libro su Android o studiare alcuni tutorial e fare un po' di pratica, non sono cose complicate queste ma neppure semplicissime se non si conosce il sistema almeno un poco.

Comunque:
- il secondo parametro dei getXXX (ce n'è uno per tipo) è il valore di default, se quella preferenza non è stata salvata carica quel valore;
- non hai bisogno di salvare le preferenze perchè ci pensa già la PreferenceActivity, per quello è comodo :)


Scusa ancora una volta... in che senso me le salva lui e come fà a sapere cosa salvare? perchè come ti ho detto io voglio salvare la mail che si trova in una EditText e una checkbox..

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Settings
« Risposta #8 il: 09 Settembre 2013, 22:47:00 CEST »
0
Scusa ancora una volta... in che senso me le salva lui e come fà a sapere cosa salvare? perchè come ti ho detto io voglio salvare la mail che si trova in una EditText e una checkbox..

Non prenderla male, ma come ha detto mattt ti converrebbe procurarti un libro sulle basi di android, perchè ti assicuro che ci metti di meno rispetto a domandare spiegazioni rigo per rigo.

1) A che server su prefs.getString("stringa", "stringa_?") la 2° stringa ("stringa_?") a che serve?
2) Come faccio a settare le preferenze se non esiste per esempio setString?

Per le domande tipo la 1) c'è la reference online ( Package Index | Android Developers ) per tutte le funzioni dei packages android. Nel campo ricerca in alto a destra metti la classe di cui vuoi l'help (in questo caso prefs è SharedPreferences) e cerchi il metodo getString.

Per la domanda tipo la 2), a parte i capitoli di base in qualsiasi libro introduttivo, ci sono anche pagine analoghe sul sito android.com. Per esempio per il data-storage c'è questa pagina Storage Options | Android Developers in cui trovi anche il riferimento all'introduzione sulle SharedPreferences. Oppure ulteriore opzioni, un tutorial su questo stesso forum [facile] Semplice esempio di Shared Preferences - Android Developers Italia .
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:Settings
« Risposta #9 il: 09 Settembre 2013, 23:13:55 CEST »
0
Non prenderla male, ma come ha detto mattt ti converrebbe procurarti un libro sulle basi di android, perchè ti assicuro che ci metti di meno rispetto a domandare spiegazioni rigo per rigo.

Per le domande tipo la 1) c'è la reference online ( Package Index | Android Developers ) per tutte le funzioni dei packages android. Nel campo ricerca in alto a destra metti la classe di cui vuoi l'help (in questo caso prefs è SharedPreferences) e cerchi il metodo getString.

Per la domanda tipo la 2), a parte i capitoli di base in qualsiasi libro introduttivo, ci sono anche pagine analoghe sul sito android.com. Per esempio per il data-storage c'è questa pagina Storage Options | Android Developers in cui trovi anche il riferimento all'introduzione sulle SharedPreferences. Oppure ulteriore opzioni, un tutorial su questo stesso forum [facile] Semplice esempio di Shared Preferences - Android Developers Italia .

Ragionandoci un pò ho capito come funziona...
pensando al libro.. voi cosa mi consigliate?