IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Bouton Joda +1 jour


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Bouton Joda +1 jour
    Bonjour à tous,


    Mon soucis est super simple (mais peut être compliqué à résoudre pour moi) :


    Mon app enregistre les données, chaque jour à 00h00 (sharedpref), j'ai utilisé la lib JodaTime (précisément le localDate qu'elle propose, par miracle j'ai réussi à l'utiliser sans vraiment bien comprendre son fonctionnement).


    A présent pour tester l'app (sans attendre minuit) je voudrais faire un bouton "Test" qui avancerait la date d'un jour afin d'afficher les données comme enregistrées.


    Après quelques recherches, je suis tombé sur ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateTime dateTime = new DateTime(date);
                            dateTime = dateTime.plusDays(1);

    Mon code après ajout dans l'onCreate de ma MainActivity :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Button mButton = (Button) findViewById(R.id.mTest);
                    mButton.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            DateTime dateTime = new DateTime(date);
                            dateTime = dateTime.plusDays(1);
                        }
                    });
    Malheureusement le bouton ne fonctionne pas et comme vous pouvez le voir, "date" indique "cannont resolve symbol "date""

    Je ne comprend pas mon erreur dois-je remplacer quelque chose? Le définir?

    Mon code comporte t'il des erreurs? Ai-je loupé une étape?


    Merci d'avance

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime dateTime = new DateTime(date);
    Tu utilise datesans la déclarer nul part , ça ne peut évidemment pas marcher

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par grunk Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime dateTime = new DateTime(date);
    Tu utilise datesans la déclarer nul part , ça ne peut évidemment pas marcher

    Je me suis sentis bête en lisant votre réponse je l'avoue j'ai immédiatement corrigé mon erreur.
    Malheureusement, ça ne fonctionne toujours pas, le bouton est actif mais n'effectue aucune action

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 995
    Points
    7 995
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateTime dateTime = new DateTime(date);
    dateTime = dateTime.plusDays(1);
    Tu déclare une variable locale, puis tu lui demandes de rajoute un jour, puis elle "disparait" vu qu'elle était locale à la fonction.

    Utilise la bonne variable devrait résoudre ce "petit" problème.

  5. #5
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Tu essaies grosso-modo de réaliser un test unitaire.
    Je te conseilles de plutôt partir sur un réel test unitaire plutôt que sur un test bouton.

    Crée une méthode qui réalise ton check de temps puis qui réalise ta sauvegarde.
    Une fois fait, crée un test unitaire qui passe ton check de temps, ainsi qu'un autre qui ne le passe pas. Rajoute aussi le cas particulier "c'est l'heure".
    Ainsi, tu pourras plus facilement vérifier que ta logique fonctionne et il ne te restera qu'à câbler ce que tu souhaites.

    Bien entendu, si, comme je le pense, tu utilises plutôt un AlarmManager pour prévoir ta sauvegarde, ce message est inutile.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/05/2017, 12h53
  2. bouton mise a jour
    Par peuxy dans le forum Excel
    Réponses: 5
    Dernier message: 13/01/2017, 09h45
  3. Bouton pour mettre à jours un champ de la base de données
    Par debutantjak dans le forum ASP.NET
    Réponses: 9
    Dernier message: 25/11/2011, 16h48
  4. Réponses: 5
    Dernier message: 27/03/2009, 13h01
  5. Réponses: 3
    Dernier message: 18/09/2006, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo