Return to Video

05-39 Fix the Order Button - Solution

  • 0:00 - 0:03
    Không phải chỉ có một cách
    chính xác để trả lời câu hỏi này.
  • 0:03 - 0:06
    Điều đó phụ thuộc vào thứ hữu ích nhất
    giúp bạn xác định sự khác biệt
  • 0:06 - 0:09
    giữa hoạt động không chính xác của ứng dụng
    và hoạt động chính xác của ứng dụng.
  • 0:09 - 0:13
    Dưới đây là một số điều mà tôi nhận thấy.
  • 0:13 - 0:16
    Trong hoạt động không chính xác,
    khi bạn nhấp chuột vào nút đặt hàng
  • 0:16 - 0:20
    Số lượng thay đổi giá trị tương tự
    mỗi lần và giá trị đó không nên thay đổi.
  • 0:20 - 0:22
    Tiếp theo tôi cũng thấy giá là đúng đối với
  • 0:22 - 0:25
    giá trị số lượng này, nhưng
    thực sự giá đó phải được áp dụng cho
  • 0:25 - 0:28
    số lượng cuối cùng được
    lựa chọn trong bảng lựa chọn số lượng.
  • 0:28 - 0:32
    Một lần nữa điều này liên quan đến thực tế
    rằng số lượng không nên thay đổi.
  • 0:32 - 0:34
    Hãy nhìn vào các mã lệnh hiện có để
    biết lý do tại sao điều này xảy ra.
  • 0:35 - 0:39
    Trong file layout activity_main,
    Ta có nút Đặt Hàng trình bày sau đây.
  • 0:39 - 0:41
    Khi nhấn vào nút Đặt Hàng,
  • 0:41 - 0:43
    chúng ta thực hiện một phương pháp trong
    hoạt động chính được gọi là submitOrder.
  • 0:43 - 0:48
    Trong file MainActivity.java,
    đây được gọi là phương pháp submitOrder.
  • 0:48 - 0:51
    Đây là một mã lệnh cũ từ rất
    lâu mà chúng ta chưa thay đổi.
  • 0:51 - 0:55
    Nhưng chúng ta tạo ra một biến
    số lượng nguyên và khởi tạo bằng 5.
  • 0:55 - 0:56
    Chúng ta hiển thị biến đó trên màn hình.
  • 0:56 - 1:01
    Chúng ta cũng hiển thị giá theo số
    cốc cà phê mỗi lần là 5$.
  • 1:01 - 1:04
    Mã lệnh này đã không còn sử dụng được
    bởi vì chúng ta đang cố gắng nhập
  • 1:04 - 1:07
    đơn hàng khi ta đang cập nhật số lượng.
  • 1:07 - 1:09
    Và một vấn đề khác nữa là chúng ta
    đang tạo ra một biến số lượng nguyên
  • 1:09 - 1:12
    khi chúng ta đã có một biến
    số lượng toàn cầu có vai trò theo dõi
  • 1:12 - 1:14
    số cốc cà phê.
  • 1:14 - 1:18
    Trong MainActivity chúng ta đã
    có biến số lượng toàn cầu,
  • 1:18 - 1:23
    nên bất kỳ phương pháp nào ở đây cũng
    tham chiếu đến biến số lượng này.
  • 1:23 - 1:27
    Tuy nhiên, trong phương pháp submitOrder ta
    đang tạo một biến số lượng địa phương mới.
  • 1:27 - 1:30
    Về mặt kỹ thuật bạn có thể tạo một biến
    địa phương có cùng tên
  • 1:30 - 1:32
    giống như biến toàn cầu.
  • 1:32 - 1:35
    Điều này chỉ có nghĩa rằng trong
    bối cảnh phương pháp này,
  • 1:35 - 1:39
    sau khi biến này được trình bày,
    bất cứ khi nào tham chiếu tới số lượng,
  • 1:39 - 1:42
    thì có nghĩa là bạn tham chiếu tới biến
    số lượng địa phương này có giá trị bằng 5,
  • 1:42 - 1:44
    chứ không phải biến
    số lượng toàn cầu có giá trị bằng 2.
  • 1:44 - 1:46
    Do đó hiển thị(số lượng) và
  • 1:46 - 1:52
    hiển thị Giá(số lượng *5) đều
    tham chiếu đến giá trị số lượng này.
  • 1:52 - 1:54
    Đây là phạm vi của
    biến địa phương này.
  • 1:54 - 1:55
    Ngoài phạm vi này,
  • 1:55 - 1:59
    bất cứ khi nào bạn tham chiếu tới số lượng
    có nghĩa là số lượng của biến toàn cầu này.
  • 1:59 - 2:00
    Cho dù bạn băn khoăn về điều này,
  • 2:00 - 2:03
    thì điều đó vẫn không hợp lý
    khi bạn nhập đặt hàng,
  • 2:03 - 2:07
    bạn vẫn có thể tạo số lượng mới và
    sau đó hiển thị nó trên màn hình.
  • 2:07 - 2:10
    Điều bạn thực sự muốn làm chỉ là sử dụng
    số lượng chúng ta đã
  • 2:10 - 2:15
    theo dõi bởi chúng ta đã tăng
    và giảm số cốc cà phê.
  • 2:15 - 2:18
    Vì vậy đó là cơ sở chúng ta cần
    tính giá.
  • 2:18 - 2:22
    Để khắc phục mã lệnh, chúng ta không nên
    khai báo một biến số lượng địa phương.
  • 2:22 - 2:25
    Thay vào đó chúng ta chỉ nên sử dụng
    biến số lượng toàn cầu này.
  • 2:25 - 2:29
    Chúng ta cũng nên dừng cố gắng
    cập nhật số lượng trên màn hình.
  • 2:29 - 2:31
    Các nút cộng và trừ đã
    có thể cập nhật màn hình
  • 2:31 - 2:34
    với giá trị số lượng thích hợp.
  • 2:34 - 2:38
    Tuy nhiên, ta thực sự muốn sử dụng nút
    submitOrder để cập nhật giá.
  • 2:38 - 2:42
    Nhưng lúc này chúng ta sẽ
    tính giá bằng số lượng * 5
  • 2:42 - 2:44
    sử dụng biến số lượng toàn cầu.
  • 2:44 - 2:48
    Tôi sẽ cập nhật mã lệnh để
    nó phản ánh điều chúng ta vừa thảo luận.
  • 2:48 - 2:51
    Chú ý rằng biến số lượng
    đã chuyển sang chữ màu tím,
  • 2:51 - 2:54
    có nghĩa là chúng ta sử dụng biến số lượng
    toàn cầu trong MainActivity.
  • 2:54 - 2:58
    Khi nhấn nút chúng ta sẽ
    kích hoạt phương pháp submitOrder.
  • 2:58 - 3:00
    Điều này sẽ hiển thị
    giá trên màn hình,
  • 3:00 - 3:04
    khi đó giá được tính bằng
    biến số lượng toàn cầu nhân với 5.
  • 3:05 - 3:07
    Điều này có vẻ đúng, vì vậy
    hãy chạy nó trên thiết bị của chúng ta.
  • 3:08 - 3:10
    Được rồi, bây giờ là thử nghiệm cuối cùng.
  • 3:10 - 3:14
    Tôi sẽ thay đổi số lượng thành 6
    rồi sau đó nhấp vào nút Order, và
  • 3:14 - 3:15
    Kết quả là 30$.
  • 3:15 - 3:18
    Để tôi thử với các giá trị khác như vậy
    tôi sẽ biết kết quả không phải do ăn may.
  • 3:18 - 3:19
    Điều đó có vẻ đúng.
    Điều đó có vẻ đúng.
  • 3:19 - 3:23
    Tuyệt vời, phương pháp này chính xác!
  • 3:23 - 3:24
    Bạn đã sửa được lỗi đầu tiên của mình.
  • 3:24 - 3:26
    Bạn thực hiện nhiệm vụ rất tốt.
  • 3:26 - 3:29
    Chức năng của ứng dụng
    của chúng ta đang hoạt động rất tốt.
  • 3:29 - 3:32
    Nhưng tôi phải thừa nhận rằng
    UI không được đẹp lắm.
  • 3:32 - 3:36
    Đặc biệt là bảng lựa chọn
    số lượng nên sử dụng UI đáng yêu, do đó
  • 3:36 - 3:37
    tiếp theo chúng ta sẽ xem xét điều đó.
Title:
05-39 Fix the Order Button - Solution
Description:

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

Vietnamese subtitles

Revisions Compare revisions