Autore Topic: Dialog che si apre solo alla prima esecuzione dell'app.  (Letto 851 volte)

Offline Mic87xp1

  • Nuovo arrivato
  • *
  • Post: 29
  • Respect: 0
    • Mostra profilo
Dialog che si apre solo alla prima esecuzione dell'app.
« il: 13 Giugno 2012, 12:10:08 CEST »
0
Salve a tutti, io vorrei inserire nella mia applicazione una dialog che appare solo la prima volta che l'app viene eseguita.
In questa dialog voglio mettere per esempio l'elenco delle ultime novità.
Come devo fare?
Io ho inserito la dialog nel metodo onCreate() dell'Activty principale, però ovviamente la dialog appare ogni volta che l'app viene eseguita.

P.s. chiedo perdono ai moderatori, mi sono reso conto solo ora che ho postato nella sezione sbagliata ^^"
« Ultima modifica: 13 Giugno 2012, 12:13:37 CEST da Mic87xp1 »

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:Dialog che si apre solo alla prima esecuzione dell'app.
« Risposta #1 il: 13 Giugno 2012, 13:50:49 CEST »
+2
Devi tenere traccia della prima esecuzione dell'app, ad esempio attraverso le SharedPreferences. Dopo la prima esecuzione salvi una variabile booleana, così le volte successive puoi controllarla e non avviare la dialog.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Mic87xp1

  • Nuovo arrivato
  • *
  • Post: 29
  • Respect: 0
    • Mostra profilo
Re:Dialog che si apre solo alla prima esecuzione dell'app.
« Risposta #2 il: 13 Giugno 2012, 19:21:53 CEST »
0
Devi tenere traccia della prima esecuzione dell'app, ad esempio attraverso le SharedPreferences. Dopo la prima esecuzione salvi una variabile booleana, così le volte successive puoi controllarla e non avviare la dialog.

Ciao, grazie della dritta. Cercando su internet ho visto come funziona SharedPreferences e mi sono scritto questo metodo privato chiamato da onCreate e funziona alla grande :D .
Codice (Java): [Seleziona]
private void inizio(){
        SharedPreferences preferenze = getSharedPreferences(MY_PREFERENCES, Context.MODE_PRIVATE);
        String versione = preferenze.getString("versione","1.6.5");
        if(!versione.equals("1.6.6")){
                AlertDialog.Builder builder = new AlertDialog.Builder(paginaIniziale.this);
                builder.setTitle("Info Versione 1.6.6");
                builder.setMessage(versione+"\n1)Aggiunta funzione per conversioni personalizzate\n2)Corretti bug minori");
                builder.setCancelable(false);
                builder.setPositiveButton("Ok", new AvvisoDialog());
                builder.setIcon(android.R.drawable.ic_dialog_info);
                AlertDialog alert = builder.create();
                alert.show();
                SharedPreferences.Editor editor = preferenze.edit();
                editor.putString("versione", "1.6.6");
                editor.commit();
        }
    }

Volevo chiederti una cosa. Se io dovessi pubblicare un aggiornamento della mia applicazione la variabile String (che ho inserito al posto della boolean) rimane salvata o viene cancellata?

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Dialog che si apre solo alla prima esecuzione dell'app.
« Risposta #3 il: 13 Giugno 2012, 23:32:47 CEST »
0
se uno aggiorna l'app viene tenuta, se disinstalla e reinstalla viene persa
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia