정보를 보호하는 대학생

<안드로이드 스터디 01> 간단한 계산기 만들기 본문

개발/안드로이드 스터디

<안드로이드 스터디 01> 간단한 계산기 만들기

정보를 보호하는 대학생 2022. 1. 6. 21:59

1. 코틀린 코드

package com.android.cons

import android.graphics.Color
import android.graphics.Typeface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import org.w3c.dom.Text

class MainActivity : AppCompatActivity() {
////////////////////변수 선언//////////////////////////////////
    lateinit var edit1 : EditText
    lateinit var edit2 : EditText
    lateinit var btnAdd : Button
    lateinit var btnSub : Button
    lateinit var btnMul : Button
    lateinit var btnDiv : Button
    lateinit var textResult : TextView

    lateinit var num1 : String
    lateinit var num2 : String
    var result : Int? = null
//////////////////////////////////////////////////////////////
    
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "초간단 계산기"

        edit1 =findViewById(R.id.Edit1)
        edit2 = findViewById(R.id.Edit2)
        btnAdd = findViewById(R.id.BtnAdd)
        btnSub = findViewById(R.id.BtnSub)
        btnMul = findViewById(R.id.BtnMul)

        textResult=findViewById(R.id.TextResult)

        
       btnAdd.setOnTouchListener { v, event ->
           num1 = edit1.text.toString()   //edit1에 입력받은 사항을 스트링으로 변환해서 num1에 넣기
           num2 = edit2.text.toString()   //edit2에 입력받은 사항을 스트링으로 변환해서 num2에 넣기

           result = Integer.parseInt(num1) + Integer.parseInt(num2)  // result에 num1과 num2의 정수값을 넣기
           textResult.text = "계산결과 :" + result.toString()        
           // textResult 텍스트뷰의 텍스트 출력. result의 정수를 스트링으로 변환
           false
       }

        btnSub.setOnTouchListener{v, event ->
            num1 = edit1.text.toString()
            num2 = edit2.text.toString()

            result = Integer.parseInt(num1) - Integer.parseInt(num2)
            textResult.text = "계산결과 :" + result.toString()
            false



        }

     btnMul.setOnTouchListener{v, event->
         num1 = edit1.text.toString()
         num2 = edit2.text.toString()

         result = Integer.parseInt(num1) * Integer.parseInt(num2)
         textResult.text = "계산결과 : " + result.toString()
         false


     }


        }

}

2. xml 코드

<?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"
    tools:context=".MainActivity"
    android:orientation="vertical"
    >

    <EditText
        android:id="@+id/Edit1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="숫자1"
        />


    <EditText
        android:id="@+id/Edit2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="숫자2"
        />


    <Button
        android:id="@+id/BtnAdd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="더하기"
        />

    <Button
        android:id="@+id/BtnSub"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="빼기"
        />

    <Button
        android:id="@+id/BtnMul"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="곱하기"
        />
    <Button
        android:id="@+id/BtnDiv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:text="나누기"
        />

<TextView
    android:id="@+id/TextResult"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff0000"
    android:textSize="30sp"
    android:text="계산결과 : "/>




</LinearLayout>

3. 결과화면

 

4. 하고싶은 말 

 

계산기 만들기를 통해서 입력한 값을 스트링으로 바꾸거나 정수로 바꿔주는 코드 작업이 필요하다는 것을 알았다.

또한 띄어쓰기가 이상하면 결과가 안나온다는 사실을 알았다.

+ - * /를 쓸 때는 양 옆에 띄어쓰기를 해야된다.