Java/Java Android

[Android] 난수 생성기 만들기

기록자_Recordian 2025. 4. 28. 18:06
728x90
반응형
이전 내용
 

[Android] 안드로이드 위젯(widget)

이전 내용 [Android] Android Studio 다운 받기자바 안드로이드란? 자바(Java)는 안드로이드 애플리케이션 개발에 가장 널리 사용되는 프로그래밍 언어 중 하나이다. 자바를 사용하여 안드로이드 앱을

puppy-foot-it.tistory.com


난수 생성기 만들기

 

Q. 버튼을 누르면 임의의 수(난수)를 하나 생성해주는 기능을 구현하라.

 

 

[activity_main.xml]

사용자가 버튼을 클릭했을 때 랜덤 숫자를 생성하고 이를 TextView에 표시하는 기능을 한다. TextView는 현재 생성된 난수를 표시하기 위해 사용되며, Button은 사용자가 클릭함으로써 난수를 생성할 수 있는 인터랙티브한 요소이다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    android:gravity="center">

    <TextView
        android:id="@+id/textViewRandomNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="200dp"
        android:text="난수:"
        android:textSize="18sp" />

    <Button
        android:id="@+id/buttonGenerateRandom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="generateRandomNumber"
        android:text="랜덤 생성" />
</LinearLayout>

◆ TextView

  • android:id: @+id/textViewRandomNumber는 이 TextView에 대한 고유 식별자를 정의하고, 이후 코드에서 이 TextView를 참조할 때 사용된다.
  • android:layout_width: wrap_content는 TextView의 너비가 내부 콘텐츠(텍스트)의 너비에 맞춰 조정되도록 설정한다.
  • android:layout_height: wrap_content는 TextView의 높이가 내부 콘텐츠(텍스트)의 높이에 맞춰 조정되도록 설정한다.
  • android:layout_marginTop: 200dp는 해당 TextView의 위쪽에 200dp만큼의 여백을 추가하여, 상단의 다른 요소와의 간격을 조정한다.
  • android:text: "난수:"는 TextView에 표시되는 기본 텍스트이다.
  • android:textSize: 18sp는 텍스트 크기를 18sp로 설정하며, 사용자의 설정에 따라 폰트 크기가 조정되도록 한다.

◆ Button

  • android:id: @+id/buttonGenerateRandom는 이 Button에 대한 고유 식별자를 정의하며, 코드에서 버튼을 참조할 때 사용된다.
  • android:layout_width: wrap_content는 Button의 너비가 내부 콘텐츠(버튼 텍스트)의 너비에 맞춰 조정되도록 설정.
  • android:layout_height: wrap_content는 Button의 높이가 내부 콘텐츠(버튼 텍스트)의 높이에 맞춰 조정되도록 설정.
  • android:onClick: generateRandomNumber는 사용자가 버튼을 클릭할 때 호출될 메서드의 이름. 이 메서드는 Java 코드에서 정의되어 있어야 하며, 랜덤 숫자를 생성하는 로직을 포함하게 된다.
  • android:text: "랜덤 생성"은 버튼에 표시되는 텍스트.

[MainActivity.java]

랜덤 숫자를 생성하고 이를 사용자 인터페이스에 출력하는 기능을 수행한다.

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

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import java.util.Random;

public class MainActivity extends AppCompatActivity {
    private TextView textViewRandomNumber;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        textViewRandomNumber = findViewById(R.id.textViewRandomNumber);
    }

    public void generateRandomNumber(View view){
        Random random = new Random();
        int randomNumber = random.nextInt(100);

        textViewRandomNumber.setText("난수: " + randomNumber);
    }
}
  • textViewRandomNumber: 액티비티 내에서 사용할 TextView 객체를 참조하기 위한 변수. 난수를 표시하는 데 사용.
  • onCreate(): 액티비티가 처음 생성될 때 호출되는 메서드. 주로 초기화 로직 설정.
    super.onCreate(savedInstanceState): 부모 클래스의 onCreate() 메서드를 호출하여 기본적으로 필요한 초기화 수행.
    setContentView(R.layout.activity_main): activity_main.xml 레이아웃을 이 액티비티의 사용자 인터페이스로 설정.
  • findViewById(): XML 레이아웃 내의 TextView를 찾아 초기화. 이제 textViewRandomNumber 변수를 통해 이 TextView에 접근할 수 있다.
  • generateRandomNumber(View view): 버튼 클릭 시 호출되는 메서드. View 객체는 클릭된 버튼을 나타낸다.
  • Random random = new Random(): Random 객체를 생성하여 랜덤 숫자 생성.
  • int randomNumber = random.nextInt(100): 0부터 99까지의 랜덤 정수 생성.
  • textViewRandomNumber.setText("난수: " + randomNumber): 생성된 랜덤 숫자를 TextView에 설정하여 화면에 표시.

[결과 출력]


다음 내용

 

[Android] 회원정보 출력 기능 만들기

이전 내용 [Android] 난수 생성기 만들기이전 내용 [Android] 안드로이드 위젯(widget)이전 내용 [Android] Android Studio 다운 받기자바 안드로이드란? 자바(Java)는 안드로이드 애플리케이션 개발에 가장 널

puppy-foot-it.tistory.com

 

728x90
반응형