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 đó thực sự 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 của ứng dụng, khi bạn nhấp chuột vào nút đơn 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 nhận thấy rằng 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 có 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, Chúng ta có nút Đơn Hàng được trình bày dưới đây.
  • 0:39 - 0:41
    Khi nhấn vào nút Đơn Hàng,
  • 0:41 - 0:43
    chúng ta sẽ thực hiện một phương pháp trong hoạt động chính được gọi là submitOrder (nhập Đơn Hàng).
  • 0:43 - 0:48
    Trong file MainActivity.java, đây được gọi là phương pháp submitOrder (nhập Đơn Hàng).
  • 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 chúng 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
    vì vậy bất kỳ phương pháp nào ở đây cũng có thể tham chiếu đến biến số lượng này.
  • 1:23 - 1:27
    Tuy nhiên, trong phương pháp submitOrder (nhập Đơn Hàng) chúng ta đang tạo ra 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 bạn 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 thì 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 đơn 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 của chúng ta, 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, chúng ta thực sự muốn sử dụng nút submitOrder (nhập Đơn Hàng) để 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 được đ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 đang 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 (nhập Đơn Hàng).
  • 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 chúng ta 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 (Đơn Hàng), 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 được 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.
  • 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 (Giao diện người dùng) không được đẹp lắm.
  • 3:32 - 3:36
    Đặc biệt là bảng lựa chọn số lượng có thể sử dụng một số UI đáng yêu, vì vậy
  • 3:36 - 3:37
    tiếp thep 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