Return to Video

05-39 Fix the Order Button - Solution

  • 0:00 - 0:03
    Il n'y a pas un seul
    manière correcte de répondre à cette question.
  • 0:03 - 0:06
    Cela dépend vraiment de ce qui est le plus utile
    pour vous d'identifier la différence
  • 0:06 - 0:09
    Entre le comportement de l'application incorrecte et
    le comportement de l'application correcte.
  • 0:09 - 0:13
    Voici quelques-unes des
    la chose que je remarqué.
  • 0:13 - 0:16
    Dans le comportement de l'application incorrecte,
    lorsque vous cliquez sur le bouton de commande
  • 0:16 - 0:20
    La quantité change à la même valeur
    chaque fois et il ne devrait pas changer.
  • 0:20 - 0:22
    Ensuite, je remarque aussi que
    le prix était correct pour
  • 0:22 - 0:25
    Cette valeur de quantité, mais
    vraiment le prix devrait être pour
  • 0:25 - 0:28
    La dernière quantité qui a été
    sélectionnée dans le sélecteur de quantité.
  • 0:28 - 0:32
    Encore une fois, ceci est lié au fait que
    quantité ne devrait pas changer.
  • 0:32 - 0:34
    Regardons le code existant pour
    pourquoi cela se passe.
  • 0:35 - 0:39
    Dans le fichier activity_main de mise en page,
    Nous avons le bouton de commande a déclaré ici.
  • 0:39 - 0:41
    Lorsque le bouton de commande est cliqué,
  • 0:41 - 0:43
    Nous allons appeler une méthode dans
    l'activité principale appelée submitOrder.
  • 0:43 - 0:48
    Dans le fichier de MainActivity.java,
    voici la méthode de submitOrder.
  • 0:48 - 0:51
    Ceci est ancien code depuis un certain temps
    il ya que nous avons pas encore changé.
  • 0:51 - 0:55
    Mais nous créons une quantité entier
    variable et l'initialiser à 5.
  • 0:55 - 0:56
    Nous affichons qui à l'écran.
  • 0:56 - 1:01
    Nous affichons également le prix que le nombre de tasses de
    fois de café 5 $ chacun.
  • 1:01 - 1:04
    Déjà ce code ne fait pas beaucoup de sens
    , parce que nous essayons de présenter
  • 1:04 - 1:07
    L'ordre que nous essayons de mettre à jour
    la quantité.
  • 1:07 - 1:09
    Et un autre problème est que nous sommes
    créer une quantité variable entier
  • 1:09 - 1:12
    Quand nous avons déjà une quantité globale
    variable qui est censé garder une trace
  • 1:12 - 1:14
    Du nombre de tasses de café.
  • 1:14 - 1:18
    Dans le MainActivity nous avons déjà
    avons une variable globale de la quantité,
  • 1:18 - 1:23
    Sorte que toute méthode à l'intérieur ici peut
    référer à cette variable de quantité.
  • 1:23 - 1:27
    Cependant, dans la méthode de submitOrder nous
    création d'une nouvelle quantité variable locale.
  • 1:27 - 1:30
    Techniquement, vous pouvez avoir une variable locale
    appelé du même nom
  • 1:30 - 1:32
    Comme une variable globale.
  • 1:32 - 1:35
    Cela signifie simplement que, dans le contexte
    de ce procédé,
  • 1:35 - 1:39
    Après cette variable a été déclarée,
    lorsque vous vous référez à la quantité,
  • 1:39 - 1:42
    Il fait référence à cette variable de la quantité d'
    locale avec la valeur 5,
  • 1:42 - 1:44
    Pas la quantité globale
    variable de valeur 2.
  • 1:44 - 1:46
    Alors affichage (quantité) et
  • 1:46 - 1:52
    DisplayPrice (quantité * 5) fois
    référer à cette valeur de la quantité.
  • 1:52 - 1:54
    Ceci est la portée de cette variable
    local.
  • 1:54 - 1:55
    En dehors de ce périmètre,
  • 1:55 - 1:59
    Chaque fois que vous faites référence à la quantité qu'il
    signifie cette quantité variable globale.
  • 1:59 - 2:00
    Si vous pensez cela,
  • 2:00 - 2:03
    Cependant, il n'a pas vraiment de sens
    que lorsque vous soumettez votre commande,
  • 2:03 - 2:07
    Vous souhaitez créer une nouvelle quantité et
    afficher alors que sur l'écran.
  • 2:07 - 2:10
    Qu'est-ce que vous voulez vraiment faire est de simplement utiliser
    la quantité que nous avons été gardant
  • 2:10 - 2:15
    Piste comme nous avons augmenté et
    diminuant le nombre de tasses de café.
  • 2:15 - 2:18
    Voilà donc ce que nous devrions
    calculer notre prix hors de.
  • 2:18 - 2:22
    Pour fixer notre code, nous ne devrions pas
    déclarer une quantité variable locale.
  • 2:22 - 2:25
    Au lieu de cela, nous devrions simplement utiliser
    cette variable globale de la quantité.
  • 2:25 - 2:29
    Nous devrions également cesser d'essayer de mettre à jour la quantité
    sur l'écran.
  • 2:29 - 2:31
    Le boutons plus et moins déjà
    gérer la mise à jour de l'écran
  • 2:31 - 2:34
    Avec la valeur appropriée de la quantité.
  • 2:34 - 2:38
    Nous, cependant, nous voulons le bouton submitOrder de
    de mettre à jour encore le prix.
  • 2:38 - 2:42
    Mais cette fois nous allons
    calculer le prix que la quantité * 5
  • 2:42 - 2:44
    Utilisant la variable globale de la quantité.
  • 2:44 - 2:48
    Je vais mettre à jour le code de sorte que
    il reflète ce que nous venons de parler.
  • 2:48 - 2:51
    Notez que la variable de la quantité
    a transformé en une couleur de police pourpre,
  • 2:51 - 2:54
    Qui signifie que nous utilisons la variable globale de la quantité de
    dans le MainActivity.
  • 2:54 - 2:58
    Lorsque le bouton est pressé il
    déclencher la méthode de submitOrder.
  • 2:58 - 3:00
    Cela permet d'afficher
    le prix sur l'écran,
  • 3:00 - 3:04
    Où le prix est calculé comme
    la quantité globale des durées variables 5.
  • 3:05 - 3:07
    Ce semble correct, donc
    exécutons sur notre dispositif.
  • 3:08 - 3:10
    Bon, maintenant pour le test ultime.
  • 3:10 - 3:14
    Je vais modifier la quantité à 6
    puis cliquez sur le bouton de commande, et
  • 3:14 - 3:15
    Yay, il est de 30 $.
  • 3:15 - 3:18
    Je vais essayer d'autres valeurs, si bien que
    Je sais qu'il est pas un hasard.
  • 3:18 - 3:19
    Cela semble correcte.
    Cela semble correcte.
  • 3:19 - 3:23
    Cool, ça marche!
  • 3:23 - 3:24
    Vous venez fixe votre premier bug.
  • 3:24 - 3:26
    Vous avez vraiment bien sur cette tâche.
  • 3:26 - 3:29
    La fonctionnalité de notre application de
    travaille vraiment bien.
  • 3:29 - 3:32
    Mais je dois admettre que,
    l'interface utilisateur est un peu laid.
  • 3:32 - 3:36
    En particulier, la quantité
    sélecteur pourrait utiliser un peu d'amour de l'interface utilisateur, de sorte
  • 3:36 - 3:37
    Nous allons travailler sur ce côté.
Title:
05-39 Fix the Order Button - Solution
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
UD837 - Android for Beginners
Duration:
03:39

French subtitles

Revisions