728x90

이벤트 내용

 

- Count 버튼을 누르면 수를 카운트 하고

- 카운트 한 만큼 화면에 띄우기

- Reset 버튼을 누르면 카운트 값 리셋하기


MainActivity.java

package com.example.cute_tutorial;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {
    private int count = 0;
    private TextView countText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        countText = (TextView) findViewById(R.id.count_text);
        countText.setText("0");
    }

    public void buttonCount(View view) {
        count++;
        if (countText != null) {
            countText.setText(Integer.toString(count));
        }
    }

    public void buttonReset(View view) {
        count = 0;
        if (countText != null) {
            countText.setText(Integer.toString(count));
        }
    }
}

 

private int count = 0;
private TextView countText;

 

Android 개발에서 TextView는 사용자 인터페이스(UI)를 구성하는 데 사용되는 위젯(Widget) 중 하나

- 주요 기능: 텍스트를 화면에 표시 (정적/동적)

 

- 레이아웃 파일(XML) 또는 Java 코드에서 사용됨

(1) XML에서 TextView 위젯 추가

<TextView
    android:id="@+id/myTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello, World!"
    android:textSize="18sp"
    android:textColor="#000000"
    android:gravity="center"
    android:layout_gravity="center"/>

 

(2) Java 코드에서 TextView를 조작하려면, findViewById() 메서드를 사용하여 xml에 정의된 TextView의 id값을 참조하는 방식으로 해당 TextView 객체를 가져오면 됨

- 객체를 가져오기만 하면, 나머지 이벤트는 기본 프로그래밍 방식으로 처리.

 

countText = (TextView) findViewById(R.id.count_text);
countText.setText("0");

 

- 안드로이드 앱 내 xml 파일에서 'count_text'라는 Id를 가진 TextView를 찾고

- 해당 TextView에 "0"이라는 텍스트를 보이게 하는 코드

 

findViewById(R.id.count_text)에서의 R은 안드로이드 앱의 리소스(Resources)를 나타내는 클래스

R 클래스는 앱이 컴파일될 때 자동으로 생성되며, 리소스의 유형과 이름에 따라 여러 하위 클래스를 가짐

- R.layout는 레이아웃 리소스에 대한 상수를 포함하는 클래스

- R.id 레이아웃 내의 뷰에 할당된 고유한 ID 관리

 

    public void buttonCount(View view) {
        count++;
        if (countText != null) {
            countText.setText(Integer.toString(count));
        }
    }

 

아까 id 로 객체 지정한 countText를 바꾸어주는 함수 설정

해당 함수는 xml 파일에서 정의된 위젯들 중에, buttonCount라는 이벤트와 연결되어 있는 버튼이 눌렸을 때 동작함

 


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="137dp"
        android:layout_marginTop="246dp"
        android:text="Hello World!" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="62dp"
        android:layout_marginTop="66dp"
        android:text="Name" />

    <Button
        android:id="@+id/buttonCount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="158dp"
        android:layout_marginTop="316dp"
        android:text="Count!"

        android:onClick="buttonCount"/>

    <Button
        android:id="@+id/buttonReset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="291dp"
        android:text="Reset!"

        android:onClick="buttonReset"
        />

    <TextView
        android:id="@+id/count_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="210dp"
        android:text="TextView" />

</RelativeLayout>

 

728x90

+ Recent posts