Vietnamese subtitles

← 12-17 Define and Call a Method - Solution

Get Embed Code
13 Languages

Showing Revision 2 created 11/11/2015 by Fran Ontanaya.

  1. Hãy cùng nhau làm bước đầu tiên, thêm một phương pháp mới vào MainActivity.
  2. Bạn có thể lấy bất kỳ chỗ nào trong tệp để thêm phương pháp của bạn
  3. miễn là nó nằm bên ngoài các ngoặc nhọn của phương pháp khác.
  4. Tôi sẽ thêm nó vào ngay dưới phương pháp khác mà chúng ta đã xác định,
  5. là calculatePrice.
  6. Tôi sẽ để chế độ riêng tư cho bộ sửa đổi truy nhập, bởi vì những điều duy nhất
  7. cần truy cập phương pháp này là trong main activity.
  8. Sau đó tôi sẽ nói kiểu dữ liệu trả lại là chuỗi,
  9. bởi vì phương pháp createOrderSummary
    sẽ trả lại chuỗi.
  10. Và tên của phương pháp này là createOrderSummary.
  11. Và sau đó chúng ta sẽ thực hiện nhập đầu vào là một mức giá, đó sẽ là một con số.
  12. Được rồi, vậy là chúng ta đã hoàn thành ký số phương pháp nhưng

    13
    00:00:42,890 --> 00:00:47,060
    bây giờ chúng ta phải thực hiện phương pháp để nó trả về tin nhắn này.
  13. Tin nhắn bắt đầu bằng một cái tên, số lượng, tổng giá và sau đó là cảm ơn.

    15
    00:00:52,040 --> 00:00:54,580
    Vậy, tôi sẽ tiếp tục và sao chép cái này và sau đó,
  14. Tôi sẽ dán nó vào phương pháp createOrderSummary.
  15. Bây giờ, chúng ta có thể bắt đầu với một vài mã lệnh lệnh cơ sở.
  16. Mặc dù bây giờ có sự khác biệt,
  17. tóm tắt đặt hàng sẽ bắt đầu với một cái tên chứ không phải tổng giá.
  18. Vậy tôi sẽ chuyển phần này sang dòng tiếp theo và lưu lại cho sau này.
  19. Tôi sẽ khởi tạo biến tin nhắn giá cho Name và
  20. sau đó là Kaptain Kunal.
  21. Và ở dòng tiếp theo, tôi sẽ cập nhật tin nhắn giá.
    24
    00:01:18,690 --> 00:01:22,025
    Tôi sẽ nối thêm vào tin nhắn hiện có, vậy
  22. Tôi nói tin nhắn giá, cộng vào, và sau đó văn bản tiếp theo và
  23. Tôi muốn thêm số lượng và thêm biến số lượng vào.
  24. Vì số lượng là biến toàn cầu,
  25. chúng ta có thể truy cập nó trong phương pháp này.
  26. Được rồi, vậy bây giờ chúng ta có tên và số lượng.
  27. Ở dòng tiếp theo tôi sẽ cập nhật priceMessage một lần nữa và
  28. thêm một đoạn văn bản nữa.
  29. Thực tế thì văn bản này có nghĩa là tổng giá, do đó
  30. Tôi chỉ có thể sử dụng những gì chúng ta có trước đó.
  31. Ok, sau đó trên dòng cuối cùng chúng ta cập nhật priceMessage một lần nữa.
  32. Lấy giá trị hiện có của Chuỗi đó và sau đó thêm , Cảm ơn!, vào đó.
  33. Tất cả trông có vẻ ổn nhưng vẫn có một lỗi ở đây.
  34. Và lỗi báo là thiếu câu lệnh trả lại.
  35. Vì chúng ta đang định trả lại một chuỗi tóm tắt,
  36. vậy tôi cần bổ sung một dòng mã lệnh khác có nêu, trả lại.
  37. Và sau đó là giá trị trả lại.
  38. Trong trường hợp này thì giá trị trả lại là priceMessage.
  39. Và tôi thêm một dấu chấm phẩy ở cuối cùng.
  40. Được rồi, bây giờ không còn lỗi đó nữa.
  41. Có vẻ như mã lệnh của chúng ta đã ổn, vậy tôi sẽ chạy thử và kiểm tra nó.
  42. Ổn, vậy bây giờ nếu tôi thay đổi số lượng còn ba và
  43. tôi nhấn nút đặt hàng, nó không hoạt động.
  44. Hãy cùng xem lỗi sai ở đâu nhé.
  45. Xem xét mã lệnh kỹ hơn, tôi đã thấy vấn đề là gì .
  46. Có một cảnh báo ở đây nói rằng phương pháp riêng createOrderSummary
  47. chưa bao giờ được sử dụng.
  48. Tôi đã quên thực hiện nó..
  49. Hãy quay lại trang câu đố.
  50. Rồi, vậy chúng ra đã thực hiện thành công nhiệm vụ đầu tiên nhưng bây giờ tôi phải
  51. thực hiện phương pháp createOrderSummary từ phương pháp submitOrder .
  52. Quay lại Android Studio, tôi cần sửa phương pháp submitOrder.
  53. Tôi đã tính toán giá cả, đã chính xác.
  54. Nhưng bây giờ tôi phải chuyển nó sang phương pháp createOrderSummary.
  55. Vậy tôi sẽ thực hiện ngay lập tức createOrderSummary với
  56. biến giá.
  57. Giá trị trả lại của phương pháp này sẽ được lưu giữ ở
  58. biến priceMessage.
  59. Tôi không cần dòng mã lệnh này nữa bởi vì dòng “Cảm ơn
  60. bạn” đã ở trong văn bản ngay dưới đây.
  61. Vì thế tôi có thể xóa nó đi.
  62. Và sau đó để cập nhật màn hình tất cả những gì tôi phải làm là thực hiện displayMessage với
  63. biến priceMessage giống như trước.
  64. Và bây giờ hãy thử chạy ứng dụng này lần nữa.
  65. Nếu tôi thay đổi số lượng xuống còn ba và
  66. tôi nhấn nút đặt hàng, nó vẫn không hoạt động.
  67. Hầu hết đoạn văn bản đã nằm trên một dòng mà đang lẽ phải nằm trên nhiều dòng, vì vậy
  68. hãy quay lại và sửa mã lệnh của chúng ta.
  69. Nhìn mã lệnh này tôi nhận ra rằng tôi đã quên ký tự dòng mới.
  70. Tôi đã thêm nó cho Cảm ơn bạn nhưng không cho các phần khác.
  71. Vậy tôi sẽ bổ sung nó vào các dòng khác ngay bây giờ.
  72. Ổn rồi, hãy thử chạy lại lần nữa.
  73. Và nó đã hoạt động.
  74. Tuyệt vời.
  75. Bây giờ Kaptain Kunal có thể có ba cốc cà phê cho anh ấy.
    79
    00:03:56,050 --> 00:03:59,670
    Tôi muốn chỉ cho bạn một vài tối ưu hóa khác mà bạn có thể làm với mã lệnh của bạn
  76. Lưu ý là bạn phải thực hiện phương pháp calculatePrice trong
  77. phương pháp createOrderSummary thay vì chuyển nó vào như là tham số đầu vào.
  78. Vậy là bạn có thể hoàn thành calculatePrice ngay ở đây.
  79. Nó cũng sẽ hoạt động.
  80. Nhưng tôi muốn chỉ cho bạn thấy bạn có thể lấy kết quả đầu ra của một phương pháp và

    85
    00:04:16,250 --> 00:04:18,370
    chuyển nó như là dữ liệu đầu vào cho phương pháp khác..
  81. Vậy chúng ta sẽ để nó như chúng ta đã có trước đó.
  82. Trong phương pháp createOrderSummary ,
  83. việc khác mà tôi đã làm là sử dụng thao tác += .
  84. Đây là tốc ký và
  85. nó có nghĩa tương tự với priceMessage = priceMessage + tất cả điều này.
  86. Vậy nếu tôi đổi tất cả điều này bằng +=, nó sẽ là tương tự với những gì tôi đã có trước đó.
  87. Điều này chỉ yêu cầu đánh máy ít hơn vì vậy mã lệnh của bạn sẽ ngắn gọn hơn.
  88. Trong phương pháp calculatePrice,
  89. việc khác mà tôi đã làm chỉ là trả lại giá trị
  90. ngay lập tức thay vì lưu trữ nó trong một biến cục bộ và sau đó mới trả lại nó.
    96
    00:04:54,030 --> 00:04:56,840
    Việc này cũng dẫn đến là mã lệnh ngắn gọn hơn.
  91. Và sau đó, trong phương pháp submitOrder, thay vì tạo ra tóm tắt lệnh
  92. và lưu nó trong một biến và sau đó sử dụng nó ngay sau đó, tôi có thể

    99
    00:05:03,880 --> 00:05:08,960
    chỉ yêu cầu createOrderSummary và sau đó thực hiện displayMessage trên đó.
  93. Việc này đem đến cùng một thứ.
  94. Giá trị trả lại của phương pháp createOrderSummary là một chuỗi,
  95. và cái đó sẽ được chuyển sang như là một đối số đầu vào cho phương pháp displayMessage.
  96. Bạn có thể để nó như vậy nếu bạn muốn, nếu dễ đọc hơn.
  97. Tất cả các mẹo này đều dẫn đến cùng một logic.
  98. Và trước khi tôi quên thì hãy nhớ thêm nhận xét Javadoc ở
  99. đầu phương pháp này để mô tả nó sẽ thực hiện những gì.
  100. Về mặt kỹ thuật, bạn không cần nhận xét Javadoc đối với phương pháp riêng nhưng
  101. đây chỉ là một thực hành tốt khi viết mô tả phương pháp
  102. để người khác đọc mã lệnh của bạn sẽ có thể hiểu
  103. bạn đang cố thực hiện cái gì.
  104. Việc mô tả phương pháp này là tạo ra một tóm tắt lệnh.
  105. Tham số đầu vào mà là giá đặt hàng và nó trả lại tóm tắt văn bản.