본문 바로가기
CODING/Android Studio

[안드로이드]안드로이드 # 2 계산기 만들기 (feat. 갓 동빈나 님,,)

by 밍톨맹톨 2020. 7. 13.
728x90
728x90

안드로이드를 처음부터 하려고 하니까 막막해서 어디서부터 할까 생각했는데

작년에 유튜브로 동빈나님의 자바로 리듬게임 만들었던 게 생각나서

혹시나,,? 하는 마음에 "동빈나 안드로이드 스튜디오"를 쳐봤는데 

와,, 아니나 다를까 있었다,, 진짜 소리 질러 GOD빈나!!!!!!!

 

일단 내가 처음에 안드로이드 스튜디오를 깔았을 때 뭣도 모르고 

언어를 " 코틀린 "으로 해놨었는데

기억하자,, 내가 할 줄 아는 건 코틀린이 아니라 자바라는 것을 후,,

처음에 코틀린으로 해놔서 MainActivity.kt로 되어있는 게 도대체 뭐지,,?

fun은 또 뭐지,,?라고 혼자 엄청 헤맸었다..

일단 숫자를 받기 위해서

 

res/layout/activity_main_xml에 들어가서

오른쪽 상단을 보면 밑에 그림처럼 있을 텐데 일단 Design을 누르고 

위에 처럼 Layout을 맞춰주자

첫 번째 숫자와 두 번째 숫자에 "Plain Text" 사용 안 하고 Text view 사용하면

"@suppresslint("wrongviewcast")" 

이런 오류가 뜰 수 있으니 주의!

그리고 위에 있는 이 버튼 꾹 눌러주기 안 눌러주면 에뮬레이터에

 

위와 같이 나오는 당황스러운 현상을 볼 수 있다,, ㅎㅎㅎ,,

layout을 적당히 설정해주고 나면 MainActivity.java로 들어가서 

더하기, 빼기, 곱하기, 나누기 함수를 만들어 주면 되는데

 

  public void addClick(View v){
        EditText number1 = (EditText) findViewById(R.id.num1);
        EditText number2 = (EditText) findViewById(R.id.num2);
        TextView result = (TextView) findViewById(R.id.result);

        int n1 = Integer.parseInt(number1.getText().toString());
        int n2 = Integer.parseInt(number2.getText().toString());
        // ParseInt는 정수형으로 넣어주기 위해 쓰는 것

        result.setText(Integer.toString(n1+n2));
    }

 

더하기 함수는 이렇게 만들고 빼기 곱하기 나누기는 그냥 복사 붙여 넣기 해서 연산자만 바꿔주면 된다!!! 

 

그렇게 하고 함수를 다 만들어 주었다면 다시 

res/layout/activity_main_xml에 들어가서

이걸 code로  바꾼 다음 각각의 버튼에

 

android:onClick="addClick"

android:onClick="subClick"

android:onClick="mulClick"

android:onClick="divClick"

 

이런 식으로 넣어주면 완,, 성,,

 

참 쉽죠,,? 동빈 나 선생님께서 친절하고 이---지하게 설명해주셔서

정말 후루룩 뚝딱 하고 계산기를 만들어 버렸지 뭐예요

완성작은 아래에!

곱하기
더하기

아니 사진 한 줄에 올리고 싶은데

어떻게 올리죠,,? 더하기 옆에 곱하기 붙이고 싶은데 

할 줄 몰라서 속상,, 

휴 아무튼 이렇게 계산기 만들기 끝 

더보기 란에는 Main코드가 들어있습니다 !

더보기

 

package com.example.calculator;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
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);
    }
    public void addClick(View v){
        EditText number1 = (EditText) findViewById(R.id.num1);
        EditText number2 = (EditText) findViewById(R.id.num2);
        TextView result = (TextView) findViewById(R.id.result);

        int n1 = Integer.parseInt(number1.getText().toString());
        int n2 = Integer.parseInt(number2.getText().toString());
        // ParseInt는 정수형으로 넣어주기 위해 쓰는 것

        result.setText(Integer.toString(n1+n2));
    }
    public void subClick(View v){
        EditText number1 = (EditText) findViewById(R.id.num1);
        EditText number2 = (EditText) findViewById(R.id.num2);
        TextView result = (TextView) findViewById(R.id.result);

        int n1 = Integer.parseInt(number1.getText().toString());
        int n2 = Integer.parseInt(number2.getText().toString());
        // ParseInt는 정수형으로 넣어주기 위해 쓰는 것

        result.setText(Integer.toString(n1-n2));
    }
    public void mulClick(View v){
        EditText number1 = (EditText) findViewById(R.id.num1);
        EditText number2 = (EditText) findViewById(R.id.num2);
        TextView result = (TextView) findViewById(R.id.result);

        int n1 = Integer.parseInt(number1.getText().toString());
        int n2 = Integer.parseInt(number2.getText().toString());
        // ParseInt는 정수형으로 넣어주기 위해 쓰는 것

        result.setText(Integer.toString(n1*n2));
    }
    public void divClick(View v){
        EditText number1 = (EditText) findViewById(R.id.num1);
        EditText number2 = (EditText) findViewById(R.id.num2);
        TextView result = (TextView) findViewById(R.id.result);

        int n1 = Integer.parseInt(number1.getText().toString());
        int n2 = Integer.parseInt(number2.getText().toString());
        // ParseInt는 정수형으로 넣어주기 위해 쓰는 것

        result.setText(Integer.toString(n1/n2));
    }
}

 

 

동빈나 선생님의 계산기 만들기 강좌는 

[ 동빈나 - 안드로이드 스튜디오 강좌 2강 ]

 

728x90

댓글