emulienfou Posté(e) 5 mars 2011 Share Posté(e) 5 mars 2011 Bonjour, je viens de créer une boite de dialogue qui me permet d'afficher les termes d'utilisation au lancement de mon application, et l'utilisateur doit sélectionner "J'accepte" ou "Je refuse". Jusque l'a tout va bien !! Maintenant ce dont je voudrais savoir car je n'ai pas trouvé de réponse, c'est comment faire pour : Quitter l'application si l'utilisateur sélectionne "Je refuse" ? Et Si l'utilisateur sélectionne "J'accepte" alors la boite de dialogue ne se raffiche plus jamais (enregistrement de l'action ou de l'état) ?) Merci bien !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Femto Posté(e) 5 mars 2011 Share Posté(e) 5 mars 2011 1) Alors pour quitter l'application il existe une méthode que tu peut implémenter dans les activités qui s'appelle "finish();" 2) Là tu vas devoir jouer sur les SharedPreferences, en gros tu vas devoir stocker une variable dans la mémoire du téléphone. C'est très simple je te renvoie à l'exemple de google: http://developer.android.com/guide/topics/data/data-storage.html En gros au lancement tu vas essayer de récupérer un boolean : SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean termes = settings.getBoolean("termes", false); Si elle n'existe pas (ce qui sera le cas au premier lancement) sa valeur par défaut sera false (c'est le deuxième paramètre). Donc quand ta personne acceptera la les termes de service tu mettra cette variable à true (par contre il te faudra un petit test à chaque fois au début pour vérifier si la personne à accepter ou pas). SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("termes", true); editor.commit(); Lien vers le commentaire Partager sur d’autres sites More sharing options...
emulienfou Posté(e) 5 mars 2011 Auteur Share Posté(e) 5 mars 2011 Merci bien, j'ai déjà utilisé dans mon programme les sharedpreferences, par contre moi jai utilisé la méthode getDefaultSharedPreferences() au lieu de getSharedPreferences(), j'utilise la quelle donc ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Femto Posté(e) 5 mars 2011 Share Posté(e) 5 mars 2011 Ben je ne peut pas te confirmer tout de suite. Mais le default doit être unique et n'a pas besoin du premier paramètre. Alors que l'autre est fait si tu veut créer plusieurs types préférences avec des noms différents. Si tu veut faire qu'un seul truc prend le default. Lien vers le commentaire Partager sur d’autres sites More sharing options...
emulienfou Posté(e) 5 mars 2011 Auteur Share Posté(e) 5 mars 2011 Cela fonctionne bien avec la méthode getDefaultSharedPreferences(). Cependant, j'ai un problème avec ma méthode finish() qui ne se trouve pas dans la même classe que mon fichier principal. Ma classe principale de l'application se nomme PulsDroid donc dans le constructeur de ma classe contenant la boite de dialogue, j'ai essayé de créer un objet de ma classe PulsDroid nommé pulsDroid, ce qui m'a permit de faire : pulsDroid.finish(); mais cela ne fonctionne pas et ne qui pas mon application. Lien vers le commentaire Partager sur d’autres sites More sharing options...
emulienfou Posté(e) 5 mars 2011 Auteur Share Posté(e) 5 mars 2011 C'est bon j'ai trouvé merci bien, il fallait que j'utilise le context que j'ai passé en paramètre de mon constructeur de ma classe contenant la boite de dialogue, ce que me donne : ((Activity) context).finish(); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Femto Posté(e) 5 mars 2011 Share Posté(e) 5 mars 2011 Cas classique de devoir passer le contexte de l'activité en paramètre. C'est cool que t'aie compris =). Bonne continuation sur ton projet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.