혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

안드로이드, 간단한 계산기 만들기

간지뽕빨리턴님 2020. 3. 24. 11:54
반응형

안드로이드스튜디오,모바일앱개발,계산기

안드로이드스튜디오를 이용하여, 계산기 만들기

과제 일시 : 03-24

안드로이드 스튜디오를 이용하여, 이번엔 계산기를 만들어보았다.

아직은 익숙하지않아서 많이 헤매면서 찾아서 했는데, 조금 시간이 지나면 익숙해질꺼라고 생각이 든다.

 

먼저 구성 화면 모습

크게 먼저 테이블 레이아웃으로 화면 구성을 준비했고, TableRow로 화면구성을 좀 더 꾸몄다.

 

소스코드

* Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    tools:context=".MainActivity">

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <EditText
                android:id="@+id/edit1"
                android:layout_span="5"
                android:hint="숫자1 입력"
                android:inputType="number" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <EditText
                android:id="@+id/edit2"
                android:layout_span="5"
                android:hint="숫자2 입력"
                android:inputType="number" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/button0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0" />
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1" />
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />
            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />
            <Button
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5" />
            <Button
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />
            <Button
                android:id="@+id/button7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />
            <Button
                android:id="@+id/button8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />
            <Button
                android:id="@+id/button9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />
        </TableRow>



        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/buttonAdd"
                android:layout_span="5"
                android:layout_height="wrap_content"
                android:text="더하기" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/buttonAdd2"
                android:layout_span="5"
                android:layout_height="wrap_content"
                android:text="빼기" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/buttonDiv"
                android:layout_span="5"
                android:layout_height="wrap_content"
                android:text="곱하기" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <Button
                android:id="@+id/buttonDiv2"
                android:layout_span="5"
                android:layout_height="wrap_content"
                android:text="나누기" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <EditText
                android:id="@+id/editText3"
                android:layout_span="5"
                android:layout_height="wrap_content"
                android:textColor="#ffff0000"
                android:text="계산결과 : " />

        </TableRow>
    </TableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

* MainActivity.java
package com.example.firstcal;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    EditText edit1, edit2, editText3;
    Button buttonAdd, buttonAdd2, buttonDiv, buttonDiv2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit1 = (EditText)findViewById(R.id.edit1);
        edit2 = (EditText)findViewById(R.id.edit2);
        editText3 = (EditText)findViewById(R.id.editText3);
        buttonAdd = (Button)findViewById(R.id.buttonAdd);
        buttonAdd2 = (Button)findViewById(R.id.buttonAdd2);
        buttonDiv = (Button)findViewById(R.id.buttonDiv);
        buttonDiv2 = (Button)findViewById(R.id.buttonDiv2);

        buttonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                 int num1, num2, result;
                 num1 = Integer.parseInt(edit1.getText().toString());
                 num2 = Integer.parseInt(edit2.getText().toString());
                 result = num1 + num2;

                editText3.setText("계산결과 : " + result);
            }
        });

        buttonAdd2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int num1, num2, result;
                num1 = Integer.parseInt(edit1.getText().toString());
                num2 = Integer.parseInt(edit2.getText().toString());
                result = num1 - num2;

                editText3.setText("계산결과 : " + result);
            }
        });

        buttonDiv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int num1, num2, result;
                num1 = Integer.parseInt(edit1.getText().toString());
                num2 = Integer.parseInt(edit2.getText().toString());
                result = num1 * num2;

                editText3.setText("계산결과 : " + result);
            }
        });
        buttonDiv2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int num1, num2, result;
                num1 = Integer.parseInt(edit1.getText().toString());
                num2 = Integer.parseInt(edit2.getText().toString());
                result = num1 / num2;

                editText3.setText("계산결과 : " + result);
            }
        });
    }
}

 

그리고, 마지막으로 실행이 잘 되는지? 작동이 잘 되는지 ? 확인을 한다.

실행 Ok ! 작동 Ok !

Good Good!

 

유튜브 동영상에서 "모두를 위한 앱 개발 스토리 | 배달의민족 앱 접근성 개선 프로젝트 | 우아한형제들 x Google Play"라는 동영상을 보았는데, 동영상 속에서 이런 말이 나온다.

만드는 사람이 수고로우면
쓰는 사람이 편하고
만드는 사람이 편하면
쓰는 사람이 수고롭다

이 말이 너무 가슴에 와닿았다 아직 나는 초보라 많은 배움이 필요하지만, 훗날  개발을 할 때 꼭 생각하면서 하면 좋을 것 같다는 생각이 든다.

오늘도 열공하자 :D