자바 웹 개발자가 될거야/JAVA
[Android] 안드로이드 스튜디오로 계산기 만들기
whitz
2021. 12. 20. 11:11
- EditText 2개로 텍스트를 입력받은 후 버튼 4개 ( 더하기, 빼기, 곱하기, 나누기 ) 를 이용한 계산기를 만들어 볼 것이다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="10dp"
android:padding="10dp"
tools:context=".MainActivity">
<EditText
android:inputType="number"
android:id="@+id/et1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="숫자1"/>
<EditText
android:inputType="number"
android:id="@+id/et2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="숫자2"/>
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="더하기"/>
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="빼기"/>
<Button
android:id="@+id/btn3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="곱하기"/>
<Button
android:id="@+id/btn4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="나누기"/>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="계산결과: "
android:textColor="#F44336"
android:textSize="30dp"
/>
</LinearLayout>
- 디자인 할 수 있는 .xml 파일에서 LinearLayout으로 바꿔 진행했다.
- EditText는 inputType을 number로 설정해서 숫자만 받도록 설정
- 모든 객체를 id를 지정해서 Java에서 사용하기 쉽도록
- 버튼들은 너비를 match - parent로 설정하여 폰 화면 너비에 맞췄음
- 레이아웃에 margin과 패딩을 주어서 여백을 두었음
package com.example.test3;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText et1 = findViewById(R.id.et1);
EditText et2 = findViewById(R.id.et2);
Button btn1 = findViewById(R.id.btn1);
Button btn2 = findViewById(R.id.btn2);
Button btn3 = findViewById(R.id.btn3);
Button btn4 = findViewById(R.id.btn4);
TextView tv1 = findViewById(R.id.tv1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int sum = Integer.parseInt(et1.getText().toString())+Integer.parseInt(et2.getText().toString());
tv1.setText("계산 결과 : "+sum);
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int diff = Integer.parseInt(et1.getText().toString())-Integer.parseInt(et2.getText().toString());
tv1.setText("계산 결과 : "+diff);
}
});
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int mul = Integer.parseInt(et1.getText().toString())*Integer.parseInt(et2.getText().toString());
tv1.setText("계산 결과 : "+mul);
}
});
btn4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int div = Integer.parseInt(et1.getText().toString())/Integer.parseInt(et2.getText().toString());
tv1.setText("계산 결과 : "+div);
}
});
}
}
- 버튼 1개씩마다 계산해주는 메서드 설정함
- 더하기, 빼기, 곱하기, 나누기 버튼에 맞춰서 EditText에서 받아온 숫자를 계산식을 작성
- EditText에 작성한 글을 toString으로 받아와서 계산하기 위해 Integer 타입으로 변환해줌