안드로이드 스튜디오/Java

안드로이드스튜디오: 다양한 위젯 활용하기(계산기앱)

류창 2021. 10. 1. 17:21
반응형

 

안드로이드 스튜디오에는 다양한 위젯이있다

 

EditText, Radio버튼,그룹 ,체크박스,토글,스위치 등등..

모든 기능을 다루기엔 너무 많고   

 

그중에서 몇개의 위젯을 활용하여 간단한 계산기 앱을 만들봅시다.

 

 

XML(위젯 생성)

위젯을 생성할때, 디자인탭에있는 Palette를 적극 활용합시다

사용자에게 값을 입력받을 EditText를 2개 생성합니다.

 

PlainText가 EditText입니다.

 

Edit Text의 위치조정 infer constraints를 해주고, 

placeholer로 값1, 값2를 입력합니다. 

안드로이드에선 android:hint 메소드를 사용하여 나타낼 수 있습니다.

 

 

 

 

 

추가적으로 4개의 사칙연산을 해줄 버튼을 생성합니다.

android:text로 텍스트를 더하기, 빼기 ,곱하기, 나누기를 입력합니다.

 

 

 

 

 

결과값을 나타낼 TextView와  꾸미기용 이미지를 하나 생성했습니다.

생성하면 잊지말고 꼭 infer constraint!!

 

 

 

 

 

메인 (기능구현)

 

제일먼저 XML에서 생성했던 모든 위젯을 연결(의존)시킵니다.

 

버튼과 입력값을받을 EditText , 결과값을 출력할 TextView 

 

 

버튼구현

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
47
48
49
50
 
        bt1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    try {
                        Double value1 =Double.parseDouble(edit1.getText().toString());
                        Double value2 =Double.parseDouble(edit2.getText().toString());
                        result.setText(value1+value2+"");
                    } catch (NumberFormatException e) {
                        Toast.makeText(getApplicationContext(),"값을 잘못입력햇어요",Toast.LENGTH_LONG).show();
                    }
                }
            });
        bt2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    Double value1 =Double.parseDouble(edit1.getText().toString());
                    Double value2 =Double.parseDouble(edit2.getText().toString());
                    result.setText(value1-value2+"");
                } catch (NumberFormatException e) {
                    Toast.makeText(getApplicationContext(),"값을 잘못입력햇어요",Toast.LENGTH_LONG).show();
                }
            }
        });
        bt3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    Double value1 =Double.parseDouble(edit1.getText().toString());
                    Double value2 =Double.parseDouble(edit2.getText().toString());
                    result.setText(value1*value2+"");
                } catch (NumberFormatException e) {
                    Toast.makeText(getApplicationContext(),"값을 잘못입력햇어요",Toast.LENGTH_LONG).show();
                }
            }
        });
        bt4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    Double value1 =Double.parseDouble(edit1.getText().toString());
                    Double value2 =Double.parseDouble(edit2.getText().toString());
                    result.setText(value1/value2+"");
                } catch (NumberFormatException e) {
                    Toast.makeText(getApplicationContext(),"값을 잘못입력햇어요",Toast.LENGTH_LONG).show();
                }
            }
        });
 
cs

 

버튼1 , 버튼 2 , 버튼 3, 버튼 4  를 누르면 값 1과 값2의 입력을받아

 

결과값 TextView에 입력이 되게 구현했습니다.

 

EditText에 입력값을 자바에서 받아오려면, edit1.getText().toString()을 사용했습니다.

그리고, 저는 Double형의 실수값을 받아오기위해, Double.parseDouble로 감싸줬습니다.

 

결과값을 각 버튼마다 더하기,빼기,곱셈,나눗셈 로직을 적용하고 출력합니다.

 

만약, 값이 아닌 문자가들어오면  예외처리로 토스트(알림)을 띄워줍니다.

 

 

 

 

 

실행한 뒤 값을 입력하고 곱하기 나누기 버튼을 눌러보았습니다.

 

제대로 입력이 되는것을 확인할수있습니다.

 

 

 

반응형