Android

[ Android ] Android 개발 기초: ConstraintLayout, Intent, 데이터 전달, TextView 속성 정리

YBin's 2025. 3. 18. 20:14

이번 포스팅에서는 안드로이드 앱 개발을 처음 시작할 때 알아야 할 기초 개념들을 정리했습니다.

특히 ConstraintLayout, Intent 데이터 전달, TextView 속성에 대해 적어 보았씁니다.

 

ConstraintLayout 주의사항

1. 부모 설정

 - ConstraintLayout에서는 최소 2개의 부모를 설정해야 합니다.

 - 상/하 중 하나와 좌/우 중 하나를 반드시 연결해야 합니다.

 

2. 종속 화살표

- 종속 화살표변동되는 요소에서 변동되지 않는 요소로 연결됩니다.
- 양쪽으로 연결된 경우 → 이를 체인(Chain)이라고 합니다.

 

3. 레이아웃 설정 팁

- + 버튼을 누르면 가장 가까운 부모에 자동으로 연결됩니다.
- 현재 위치를 기준으로 간격이 설정되므로 주의해야 합니다.


액티비티 추가

- Java Class로 직접 추가하면 매니페스트 파일 수정 등 복잡한 작업이 필요합니다.
- 더 간단히 하려면 New → Activity → Empty View Activity로 추가 !!
- 액티비티 생성 시 매니페스트 파일에 자동으로 등록됩니다.

 

Intent: 액티비티 간 화면 전환

1. Intent란?

- Intent는 안드로이드 앱의 4대 주요 컴포넌트 중 하나로, 액티비티 간 통신을 위한 메시지 객체입니다.
- 명시적 인텐트암시적 인텐트로 나뉩니다.
  - 명시적 인텐트: 특정 액티비티를 지정하여 호출.
  - 암시적 인텐트: 호출 대상을 지정하지 않음.

 

2. 명시적 인텐트 사용 예제

 

Intent intent01 = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent01);


- `MainActivity`에서 `SecondActivity`로 화면을 전환합니다.
- startActivity() 메서드를 호출해 인텐트를 전달합니다.

 

3. 데이터 전달

- Intent 객체에 데이터를 담아 다른 액티비티로 전달할 수 있습니다.

 

데이터 전달 예제

 

보내는 액티비티:

Intent intent01 = new Intent(MainActivity.this, SecondActivity.class);
intent01.putExtra("key01", "전달할 데이터");
startActivity(intent01);



받는 액티비티:

Intent data_receive = getIntent();
String receivedData = data_receive.getStringExtra("key01");


- putExtra(key, value): 데이터를 담는 메서드.
- getIntent(): 받은 인텐트를 가져오는 메서드.
- getStringExtra(key): 전달받은 데이터를 추출.

 

ConstraintLayout의 Baseline

- Baseline을 이용해 텍스트 요소의 높이를 맞출 수 있습니다.
- height를 `0dp`로 설정하고, 상하 부모를 연결하면 부모 크기에 따라 요소 크기도 자동으로 조정됩니다.


 

 컴포넌트 아이디 주의사항

- 컴포넌트 아이디는 전역 변수로 사용됩니다.
- 동일한 프로젝트 내에서 중복된 아이디를 사용할 경우 오류가 발생합니다.
  - 예: `MainActivity`에서 `btn01`을 사용했다면, `SecondActivity`에서 동일한 이름을 사용할 수 없습니다.



TextView 속성 정리

 

TextView 기본 코드

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Intent"
    android:textSize="32sp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

 

 

주요 속성 설명

- android:textSize: 텍스트 크기 설정 (단위: sp).
- app:layout_constraintStart_toStartOf: 부모의 시작점(Start)에 맞춤.
- app:layout_constraintTop_toTopOf: 부모의 상단(Top)에 맞춤.

레이아웃 속성 총정리



이 글은 대학 강의 내용을 기반으로 정리 했던 내용입니다 ! 수정할 점이나 궁금하신 점 있으시면 댓글 남겨주세요 :D