본문 바로가기

AndroidStudio

[Android Studio] 전화기 만들기

MainAcivity8.java

package kr.co.aiai.app;

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

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity8 extends AppCompatActivity {
    TextView tv;
    Button btn0;
    Button btn1;
    Button btn2;
    Button btn3;
    Button btn4;
    Button btn5;
    Button btn6;
    Button btn7;
    Button btn8;
    Button btn9;
    MyOnClickListener myOnClickListener;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main8);

        tv = findViewById(R.id.tv);
        btn0 = findViewById(R.id.btn0);
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn3 = findViewById(R.id.btn3);
        btn4 = findViewById(R.id.btn4);
        btn5 = findViewById(R.id.btn5);
        btn6 = findViewById(R.id.btn6);
        btn7 = findViewById(R.id.btn7);
        btn8 = findViewById(R.id.btn8);
        btn9 = findViewById(R.id.btn9);
        myOnClickListener = new MyOnClickListener(tv);

        btn0.setOnClickListener(myOnClickListener);
        btn1.setOnClickListener(myOnClickListener);
        btn2.setOnClickListener(myOnClickListener);
        btn3.setOnClickListener(myOnClickListener);
        btn4.setOnClickListener(myOnClickListener);
        btn5.setOnClickListener(myOnClickListener);
        btn6.setOnClickListener(myOnClickListener);
        btn7.setOnClickListener(myOnClickListener);
        btn8.setOnClickListener(myOnClickListener);
        btn9.setOnClickListener(myOnClickListener);

        Button call = findViewById(R.id.btn_call);
        call.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                myclick();
            }
        });

    }

    public void myclick(){
        String txt = tv.getText()+"";
        Toast toast = Toast.makeText(getApplicationContext(), "Calling..."+txt,Toast.LENGTH_SHORT);
        toast.show();
    }





}

나는 외부 클래스 파일에 메서드를 만들어 호출하는 방법으로 진행해봤다!

 

MyOnClickListener.java

package kr.co.aiai.app;

import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MyOnClickListener implements View.OnClickListener{
    String txt ="";
    TextView tv;
    public MyOnClickListener(){}
    public MyOnClickListener(TextView tv){
        this.tv = tv;
    }
    @Override
    public void onClick(View view) {
        if (view instanceof Button) {
            Button button = (Button) view;
            String buttonText = button.getText().toString();
            txt += buttonText;
            tv.setText(getTxt());
        }

    }

    public String getTxt(){
        return txt;
    }
}

activity_main8.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">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv"
                android:layout_width="360dp"
                android:layout_height="wrap_content"
                android:textSize="25dp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn1"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="1" />
            <Button
                android:id="@+id/btn2"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="2" />
            <Button
                android:id="@+id/btn3"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="3" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn4"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="4" />

            <Button
                android:id="@+id/btn5"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="5" />

            <Button
                android:id="@+id/btn6"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="6" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn7"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="7" />

            <Button
                android:id="@+id/btn8"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="8" />

            <Button
                android:id="@+id/btn9"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="9" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn0"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="0" />

            <Button
                android:id="@+id/btn_call"
                android:layout_width="240dp"
                android:layout_height="wrap_content"
                android:text="call" />



        </LinearLayout>

    </LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

call 버튼을 누르면 입력된 번호로 전화가 간다는 toast가 뜬다 (귀엽)