일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/compress/archivers/zip/ZipFile
- 삼성 노트북 터치패드 먹통
- c++ 출력문
- ftz level1
- 터치패드 오류
- 터치패드 먹통
- ListValuedMap
- ftz level4
- 안드로이드
- Samsung Updates
- 멀티터치노트북
- c
- 자바로 엑셀만들기
- rust #casting
- ftz level2
- 터치노트북
- ftz level3
- python library
- 안드로이드스튜디오
- airbar
- java
- XSSF
- C++
- 멀티터치노트북이란
- 노트북 터치패드
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
- for fun
- ehart
- ftz
- vi editor shell
- Today
- Total
ASCII
안드로이드 스튜디오 계산기 예제 구문 설명 본문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | package com.ascii.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button plus = (Button) findViewById(R.id.plusButton); Button divide = (Button) findViewById(R.id.divideButton); final EditText firstText = (EditText) findViewById(R.id.firstText); final EditText secondText = (EditText) findViewById(R.id.secondText); final EditText answerText = (EditText) findViewById(R.id.answerText); plus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int num1 = Integer.parseInt(firstText.getText().toString()); int num2 = Integer.parseInt(secondText.getText().toString()); answerText.setText(""+(num1 + num2)); } }); divide.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int num1 = Integer.parseInt(firstText.getText().toString()); int num2 = Integer.parseInt(secondText.getText().toString()); if (num2 == 0) { answerText.setText("0으로 나눌 수 없습니다."); } else { answerText.setText("" +(num1 / num2)); } } }); } } | cs |
(0) '.'
java를 비롯해 class와 관련된 언어를 한번도 다루어 보지 못하신 분들을 위해 간략하게 적어 두겠습니다.
흔히 볼 수 있는 '.'은 .뒤에 있는 값이 변수이면 뒤의 변수를 다루겠다라는 의미의고,
변수가 아니라면 다양한 여러 메소드(함수)들을 구분지어 두었다라고 생각해 주셔도 괜찮을 것같습니다.
ex1) answerText.setText(); 앞에 있는 answerText라는 변수에 문자를 설정하여 준다는 뜻입니다.
ex2) Integer.parseInt(); parseInt란 함수는 정수값과 관련되어 있으므로 정수와 관련된 함수들을 Integer로 구분지어 둔 것입니다.
(1) 다양한 변수들
Button ~/ EditText ~는 xml화면에서 만들어진 다양한 객체들을 java 코드에서 다루기 위한 변수입니다.
버튼 plus에는 xml에서 지정한 plusButton이라는 id를 가진 버튼을
에딧텍스트 firstText에는 xml에서 지정한 firstText id를 가진 PlainText를 지정하여 줍니다.
(2) 리스너
리스너는 특정이벤트를 처리해주는 안드로이드의 기능입니다.
다양한 리스너들 중에서 클릭되었을 때의 이벤트를 다루기 위해서 각각의 버튼에 onClickListener를 정의하여 준 것입니다.
(3) Integer.parseInt()
이 함수는 괄호안의 String형 문자열 변수를 정수형으로 바꾸어 주는 함수입니다.
(4) firstText.getText().toString()
firstText라는 EditText에 사용자가 값을 입력하면 우리의 자바코드에서 이 값을 getText라는 함수로 가져옵니다.
하지만 이 값의 자료형은 String이 아닌 다른 문자형 변수이기 때문에 parseInt()함수를 사용할 수 없습니다.
따라서 이 값을 String 문자열로 바꾸어 주는 부분이 toString()입니다.
(5).answerText.setText
모든 결과 값이 계산 되었으면 이제 이 값을 출력해 주어야합니다. 따라서 우리는 answerText에 값을 정해주는 setText를 사용하여 결과값을 출력합니다.
'Android Studio' 카테고리의 다른 글
안드로이드 스튜디오 간단한 계산기 예제 (0) | 2017.11.04 |
---|---|
안드로이드 스튜디오 Power Save Mode (자동완성 해결법) (0) | 2017.10.20 |
[1.2] JAVA 설치 및 설정 (0) | 2017.09.03 |
[1.1] 안드로이드 스튜디오 설치 (0) | 2017.09.01 |
안드로이드 스튜디오 타이틀바 없애기 (0) | 2017.08.30 |