25
To be an Android Expert Simple Calculator - Initial Implementation 문문문 , 문문문 문문문문문 IT 문문 문문문문문 앱앱앱앱 문문문문문 문문문 문문 문문

To be an Android Expert

  • Upload
    chesmu

  • View
    67

  • Download
    0

Embed Size (px)

DESCRIPTION

앱창작터. To be an Android Expert. 안드로이드 여대생 기초 과정. Simple Calculator - Initial Implementation. 문양세 , 최미정 강원대학교 IT 대학 컴퓨터학부. 초기계산기에 두뇌를 심어줍시다 ~. 변수 선언. first : 초기 상태인 경우에 true mAfter : 직전 계산 값을 유지함 operator : 연산자 지정 ( 저장 ) dotpress : dot(“.”) 인 눌린 경우에 true - PowerPoint PPT Presentation

Citation preview

Page 1: To be an Android Expert

To be an Android Expert

Simple Calculator - Initial Implementation

문양세 , 최미정강원대학교 IT 대학 컴퓨터학부

앱창작터

안드로이드여대생 기초 과정

Page 2: To be an Android Expert

2

초기계산기에 두뇌를 심어줍시다 ~

Page 3: To be an Android Expert

3

변수 선언

first : 초기 상태인 경우에 true mAfter : 직전 계산 값을 유지함 operator : 연산자 지정 ( 저장 ) dotpress : dot(“.”) 인 눌린 경우에 true result: : 연산 결과를 출력하기 위한 TextView

Page 4: To be an Android Expert

4

OnClickListener 등록 – 설명 18 개의 버튼에 대해 이벤트를 할당한다 . 각 버튼의 객체는 findViewById() 를 통해 얻어오고 ,

이벤트 리스너 mClickListener() 을 등록한다 . 18 개의 버튼은 다음과 같다 .

◦ R.id.btn_back: 백스페이스 버튼◦ R.id.btn_c: 클리어 (“C”) 버튼◦ R.id.btn_num0 ~ R.id.btn_num9: 숫자 (“0” ~ “9”) 버튼◦ R.id.btn_plus, R.id.btn_minus, R.id.btn_mul, R.id.btn_div: 사칙연산 버튼

◦ R.id.btn_equal: 등호 (“=“) 버튼◦ R.id.btn_dot: dot(“.”) 버튼

Page 5: To be an Android Expert

5

OnClickListener 등록 - 코드

Page 6: To be an Android Expert

6

OnClickListener 정의 – 설명 (1/3)

햅틱 효과 ( 버튼을 누르면 짧게 진동 발생 ) 를 발생시키기 위해 , VIBRATOR_SERVICE 를 등록한다 .

백 스페이스 버튼 (R.id.btn_back) 이 눌렸을 때 , backPress() 메소드를 호출한다 .

클리어 (“C”) 버튼 (R.id.btn_c) 이 눌렸을 때 ,

각 변수를 초기화 한다 .

( 화면은 “ 0.” 으로 초기화한다 .)

Page 7: To be an Android Expert

7

OnClickListener 정의 – 설명 (2/3)

숫자 버튼 ( 예 : R.id.num0) 을 눌렀을 때 , numPress()

메소드를 호출하되 , 해당 숫자를 인수로 넘겨준다 .

사칙연산 (+, -, x, /, =) 버튼 ( 예 : R.id.plus) 이 눌렸으면 , SachickPress() 메소드를 호출하되 , 해당 연산을 인수로 넘겨준다 .

Page 8: To be an Android Expert

8

OnClickListener 정의 – 설명 (3/3)

도트 (dot) 버튼 (R.id.btn_dot) 이 눌렸으면 ,

(a) dotpress = true 로 하여 소수점 이하임을 나타내고 ,

(b) 초기 상태 (first) 를 false 로 한다 .

Page 9: To be an Android Expert

9

OnClickListener 정의 - 코드 (1/2)

Page 10: To be an Android Expert

10

OnClickListener 정의 – 코드 (2/2)

Page 11: To be an Android Expert

11

backPress() – 설명 (1/3)

현재 TextView 의 값을 가져와 양쪽 여백을 제거한다 .

TextView 값이 두 글자인데 백 스페이스가 눌려졌으면 ,

초기 값과 같아지므로 초기상태로 만든다 .

( 참고 : “.” 때문에 기본이 두 글자임 ) 예 : “9.” 에서 9 를 지우면 “ 0.” 으로 만든다 .

Page 12: To be an Android Expert

12

backPress() – 설명 (2/3)

도트가 눌려진 상태에서 백 스페이스가 눌렸다면 ...

마지막이 “ .” 라면 ( 소수점 이하 자리가 없다면 ), 도트가 눌리지 않은 상태로 되돌린다 .

마지막이 “ .” 이 아니라면 ( 소수점 이하 자리가 있다면 ),맨 마지막 숫자 하나를 지운다 .

Page 13: To be an Android Expert

13

backPress() – 설명 (3/3)

도트가 눌리지 않은 상태에서 백 스페이스가 눌렸다면 ...

만약 “ .” 가 눌리지 않은 상태에서 백 스페이스가 눌렸다면 ,마지막 두 글자를 지우고 뒤에 “ .” 을 붙인다 .

예를 들어 , “739.” 이었다면 , 뒤의 “ 9.” 을 지우고 “ 73” 에다 “ .” 을 붙여서 “ 73.” 을 만든다 .

Page 14: To be an Android Expert

14

backPress() - 코드

Page 15: To be an Android Expert

15

numPress() – 설명 (1/2)

초기 상태 (first = true) 에서 숫자가 눌렸다면 ...

초기상태에서 “ 0” 이 눌렸다면 , 그냥 “ 0.” 을 유지하고 ,초기상태 (first = true) 도 유지한다 .

초기상태에서 숫자 (“1” ~ “9”) 가 눌렸다면 ,해당 숫자에 “ .” 을 붙여서 나타내고 ,초기상태에서 벗어난다 (first = false).

Page 16: To be an Android Expert

16

numPress() – 설명 (2/2)

초기가 아닌 상태 (first = false) 에서 숫자가 눌렸다면 ...

소수점 이하라면 , 해당 숫자를 마지막에 붙여 나타낸다 .( 예 : “739.” “739.4”)

소수점이 아니라면 , 맨 마지막의 점 (“.”) 을 없앤 후 , 해당 숫자를 붙이고 , 다시금 마지막에 점 (“.”) 을 넣어 나타낸다 .( 예 : “739.” “7395.”)

TextView 의 내용을 가져와 양쪽 공백을 제거한다 .

Page 17: To be an Android Expert

17

numPress() - 코드

Page 18: To be an Android Expert

18

SachickPress() – 설명 (1/3)

초기 상태 (first = true) 에서 “ =“ 이 눌렸다면 ,

그냥 0 을 출력하고 , 초기상태를 유지한다 .

TextView 에 있는 내용을 실수 (Double) 로 변환하여 ,

이를 change 변수에 저장한다 .

Page 19: To be an Android Expert

19

SachickPress() – 설명 (2/3)

주어진 연산자 (operator) 에 따라 , 이전 값 (mAfter) 과 현재 값 (change) 에 대한 사칙연산을 수행한다 .

연산자가 “ =“ 이 아니면 , operator 변수에 해당 연산자를 저장해 둔다 .

Page 20: To be an Android Expert

20

SachickPress() – 설명 (3/3)

소수점 이하 값을 처리한다 .

소수점 이하 자리가 없으면 ,결과 + “.” 을 출력한다 .

소수점 이하 자리가 있으면 ,해당 결과를 그냥 출력한다 .

소수점 이하 값이 있는지 체크한다 . (ii 에 소수점 이하 자리가 들어간다 .)

계산이 끝났으므로 , 초기상태로 돌린다 .

Page 21: To be an Android Expert

21

SachickPress() - 코드

Page 22: To be an Android Expert

22

Manifest 수정 (Vibration)

Page 23: To be an Android Expert

23

아이콘을 바꿔 볼까요 ~

Page 24: To be an Android Expert

24

바르게 동작하는지 확인해 보세요 ~

Page 25: To be an Android Expert

25