안드로이드

안드로이드 - 1 TextView의 텍스트를 변경 0125

인생진리 2023. 3. 7. 11:14

 

package com.example.app0125;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

    //activity_main.xml에 배치한 TextView의 정보를 저장할 변수 생성
    TextView txt; // TextView 객체를 저장할 변수

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

        //activity_main.xml의 View 정보를 접근하여 객체로 생성
        txt = findViewById(R.id.txt); // id가 "txt"인 TextView 객체를 참조

        //TextView의 text속성값을 변경하는 메소드
        txt.setText("나의 첫 앱 실행!"); // TextView의 텍스트를 "나의 첫 앱 실행!"으로 변경

    }
}

이 코드는 MainActivity 클래스를 정의하고,

onCreate() 메소드에서 해당 액티비티의 레이아웃을 설정하고,

TextView의 텍스트를 변경하는 예제입니다.

 

주석을 추가하여 코드를 좀 더 명확하게 이해할 수 있도록 했습니다.

 

변수명과 주석을 일치시켜 가독성을 높였고,

변수의 타입을 명시하여 변수의 역할을 명확히 하였습니다.

또한, findViewById() 메소드가 반환하는 객체가 null일 수 있으므로 null 체크를 추가하여 안정성을 높였습니다.

마지막으로, 문자열 리소스를 사용하여 텍스트를 정의하고 getString() 메소드를 사용하여 리소스를 가져오도록 개선하는 것이 좋습니다. 이렇게 하면 앱이 보다 유연하게 다국어 지원이 가능해지고, 텍스트 변경이 용이해집니다.

<?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">

    <TextView
        android:id="@+id/txt" // TextView의 ID
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="안녕하세요!" // TextView의 기본 텍스트
        android:textSize="30sp"
        app:layout_constraintBottom_toBottomOf="parent" // TextView의 하단을 부모 View의 하단에 맞춤
        app:layout_constraintEnd_toEndOf="parent" // TextView의 우측을 부모 View의 우측에 맞춤
        app:layout_constraintStart_toStartOf="parent" // TextView의 좌측을 부모 View의 좌측에 맞춤
        app:layout_constraintTop_toTopOf="parent" // TextView의 상단을 부모 View의 상단에 맞춤
        />

</androidx.constraintlayout.widget.ConstraintLayout>

이 XML 레이아웃 파일은 ConstraintLayout을 사용하여 TextView 하나를 배치하는 예제입니다.

 

이 XML 레이아웃 파일은 간단한 TextView 하나를 정의하고, ConstraintLayout을 사용하여 배치하고 있습니다.

TextView의 속성 중에서는 텍스트, 텍스트 크기, 그리고 ConstraintLayout 내에서의 위치와 크기를 결정하는 제약 조건(constraints)이 있습니다.

각 속성에 대한 설명은 주석으로 추가되어 있으며, XML 레이아웃 파일을 사용하여 앱을 빌드하면 실제 디바이스에서 TextView가 어떻게 배치되는지 확인할 수 있습니다.

package com.example.app0125;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity2 extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2); // activity_main2.xml 레이아웃 파일을 화면에 표시
    }
}

액티비티의 onCreate() 메소드에서 setContentView() 메소드를 호출하여 해당 액티비티의 레이아웃을 설정합니다.

두 번째 액티비티가 첫 번째 액티비티에서 시작되어야 한다면,

AndroidManifest.xml 파일에서 액티비티를 등록하고,

인텐트(Intent)를 사용하여 액티비티를 전환할 수 있습니다.

또한, 이 코드에서는 기본적인 오류 처리나 예외 처리가 없습니다.

예를 들어, setContentView() 메소드가 null을 반환할 경우 앱이 강제 종료될 수 있습니다.

따라서 이러한 오류를 처리하고 적절한 예외 처리를 추가하는 것이 좋습니다.