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

To be an Android Expert

Feb 06, 2016

Download

Documents

chesmu

앱창작터. To be an Android Expert. 안드로이드 여대생 기초 과정. Simple Calculator - Initial Implementation. 문양세 , 최미정 강원대학교 IT 대학 컴퓨터학부. 초기계산기에 두뇌를 심어줍시다 ~. 변수 선언. first : 초기 상태인 경우에 true mAfter : 직전 계산 값을 유지함 operator : 연산자 지정 ( 저장 ) dotpress : dot(“.”) 인 눌린 경우에 true - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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