Return to Video

05-39 Fix the Order Button - Solution

  • 0:00 - 0:03
    這個問題不是只有一個正確的的方式來回答。
  • 0:03 - 0:06
    這真的取決於什麼是最有助於您找出
  • 0:06 - 0:09
    不正確的應用程式使用與正確的應用程式使用兩者之間的區別。
  • 0:09 - 0:13
    下面是一些我注意到的東西。
  • 0:13 - 0:16
    在不正確的應用程式使用,當您點擊訂單按鈕,
  • 0:16 - 0:20
    數量每一次都改變為相同的值,其實它不應該改變。
  • 0:20 - 0:22
    接下來我也注意到對應這個數量的價格是正確的,
  • 0:22 - 0:25
    但真正的價格應該是
  • 0:25 - 0:28
    數量選擇器最後選擇的數量。
  • 0:28 - 0:32
    再次,事實上該數量不應該改變。
  • 0:32 - 0:34
    讓我們來看看現有代碼為什麼會發生這種情況。
  • 0:35 - 0:39
    在activity_main設計佈置圖文件,我們有訂單按鈕。
  • 0:39 - 0:41
    當單擊該訂單按鈕,
  • 0:41 - 0:43
    我們會在主要活動啟動一個方法稱為submitOrder。
  • 0:43 - 0:48
    在MainActivity.java檔,這是submitOrder方法。
  • 0:48 - 0:51
    這是舊的代碼,已有很長時間,而我們沒有作任何變化。
  • 0:51 - 0:55
    但是,我們創建了一個整數數量變量及初始化為5。
  • 0:55 - 0:56
    我們將它顯示到屏幕上。
  • 0:56 - 1:01
    我們還顯示價格為咖啡數量乘每杯$ 5。
  • 1:01 - 1:04
    就算這段代碼並不太合理,我們試圖提交
  • 1:04 - 1:07
    這個我們正在嘗試更新數量的訂單。
  • 1:07 - 1:09
    而另一個問題是,我們正在創建一個整數數量變量,
  • 1:09 - 1:12
    而其車我們已經有一個全局數量的變量,它可以追踪
  • 1:12 - 1:14
    咖啡杯數。
  • 1:14 - 1:18
    在MainActivity我們已經有一個全局數量的變量,
  • 1:18 - 1:23
    所以任何這裡的方法都可參照此數量變量。
  • 1:23 - 1:27
    然而,在submitOrder方法我們創建一個新的局部數量變量。
  • 1:27 - 1:30
    從技術上講,您可以有一個局部變量
  • 1:30 - 1:32
    跟全局變量使用相同的名稱。
  • 1:32 - 1:35
    這只意味著,在這種方法的內容中,
  • 1:35 - 1:39
    之後,當這個變量已經定義,每當您表示數量,
  • 1:39 - 1:42
    它實際上指的是這個值為5的局部數量變量,
  • 1:42 - 1:44
    不是值2的全局數量變量。
  • 1:44 - 1:46
    所以顯示(數量)和
  • 1:46 - 1:52
    顯示價格(數量* 5)兩者都是指這個值。
  • 1:52 - 1:54
    這是此局部變量的範圍。
  • 1:54 - 1:55
    此範圍外,
  • 1:55 - 1:59
    每當您表示數量,都是指全局變量的數量。
  • 1:59 - 2:00
    如果您想想看,
  • 2:00 - 2:03
    不過,這並不完全合理,當您提交訂單,
  • 2:03 - 2:07
    您將創建一個新的數量然後顯示在屏幕上。
  • 2:07 - 2:10
    您真正想要做的就是使用我們一直所指的數量,
  • 2:10 - 2:15
    因為我們一直在增加和減少咖啡杯數。
  • 2:15 - 2:18
    所以,我們就應該可計算價格了。
  • 2:18 - 2:22
    要解決我們的代碼,我們不應該定義局部數量變量。
  • 2:22 - 2:25
    相反,我們應該只使用這個全局變量的數量。
  • 2:25 - 2:29
    我們還應該停止嘗試更新屏幕上的數量。
  • 2:29 - 2:31
    加號和減號按鈕已經可以做屏幕更新,
  • 2:31 - 2:34
    只要配合適當的數量值。
  • 2:34 - 2:38
    不過,我們還希望submitOrder按鈕仍然可以更新該價格。
  • 2:38 - 2:42
    但是,這一次,我們要計算出的價格為數量* 5
  • 2:42 - 2:44
    並使用全局變量的數量。
  • 2:44 - 2:48
    我會更新代碼讓它反映了我們剛才講的。
  • 2:48 - 2:51
    注意,數量變量已經變成了紫色的字體顏色,
  • 2:51 - 2:54
    這意味著我們正在MainActivity中使用的全局數量變量。
  • 2:54 - 2:58
    當按下按鈕它將觸發submitOrder方法。
  • 2:58 - 3:00
    這將在屏幕上的顯示價格,
  • 3:00 - 3:04
    那裡的價格計算為全局量變量乘5。
  • 3:05 - 3:07
    這看起來是正確的,所以讓我們的設備上運行。
  • 3:08 - 3:10
    好了,現在做最終測試。
  • 3:10 - 3:14
    我要的數量更改為6然後點擊訂單按鈕,
  • 3:14 - 3:15
    好,這是$30。
  • 3:15 - 3:18
    讓我試試其他值,好讓我知道這是不是僥倖。
  • 3:18 - 3:19
    這看起來是正確的。
    這看起來是正確的。
  • 3:19 - 3:23
    好,成功了!
  • 3:23 - 3:24
    您解決了您的第一個問題。
  • 3:24 - 3:26
    您做得很好。
  • 3:26 - 3:29
    我們應用程式的功能運作非常好。
  • 3:29 - 3:32
    但我不得不承認,用戶界面是有點難看。
  • 3:32 - 3:36
    具體地,數量選擇器可以使用一些用戶界面,所以
  • 3:36 - 3:37
    下一步讓我們處理這個。
Title:
05-39 Fix the Order Button - Solution
Description:

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

Chinese, Traditional subtitles

Revisions