Return to Video

05-39 주문 버튼 고치기 - 답

  • 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
    수량 picker에 선택된
    마지막 수량을 위한
  • 0:25 - 0:28
    가격이 되어야 합니다.
  • 0:28 - 0:32
    다시, 이것은 수량이 변해서는
    안 된다는 것과 관련이 있습니다.
  • 0:32 - 0:34
    이게 왜 발생하는지 보기 위해
    기존 코드를 봅시다.
  • 0:35 - 0:39
    activity_main 레이아웃 파일에
    Order 버튼이 여기 선언되었죠.
  • 0:39 - 0:41
    Order 버튼을 클릭하면
  • 0:41 - 0:43
    우리는 submitOrder라는
    메인 액티비티의 메소드를 호출합니다.
  • 0:43 - 0:48
    MainActivity.java 파일에
    submitOrder 메소드가 있습니다.
  • 0:48 - 0:51
    이것은 우리가 아직 바꾸지 않은
    오래된 코드입니다.
  • 0:51 - 0:55
    우리는 interger 수량 변수를
    만들고 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
    interger 수량 변수를 만든 것입니다.
  • 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
    display(quantity)와
  • 1:46 - 1:52
    displayPrice(quantity*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:44
    하지만 이번엔 광역 수량 변수를 이용해
    가격을 수량 곱하기 5로 만들 겁니다.
  • 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
    가격은 광역 수량 변수X5가 됩니다.
  • 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
    하지만 인정하건대
    UI는 조금 못생겼죠.
  • 3:32 - 3:36
    특히, 수량 picker에
    UI를 좀 사용해야 겠네요.
  • 3:36 - 3:37
    다음으로 가서 해 보죠.
Title:
05-39 주문 버튼 고치기 - 답
Description:

05-39 주문 버튼 고치기 - 답

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

Korean subtitles

Revisions Compare revisions