모바일/android

[Android_기초] wrap_content, match_parent 차이와 id 정의

2021. 8. 14. 13:57
728x90
반응형

#210814#안드로이드스튜디오#앱제작

 

1. 오늘 학습한 내용

1) .xml : 화면을 꾸미는, 정적인 / .java : 내부 활동, 동적인

 

2) wrap_content / match_parent 차이점

 a. wrap_content : 폭과 높이가 내용에 꼭 맞게 설정됨 (글자 크기에 맞춤). 

 b. match_parent : 자신의 부모에 폭이나 높이를 맞추는 것 (부모 레이아웃에 맞춤).

 

3) id 정의

 a. xml에서 id를 정의하고 Main.java에서 id 선언 후, 내부 프로그램 코딩.

 b. 형식: android:id = "@+id/(id 이름)"

 c. 이때, @기호는 id를 리소스(구체적으로 R.java)에 정의하거나 참조한다는 뜻이며 무조건 붙여야 함.

     +기호는 ID를 새로 정의한다는 뜻인데 처음 정의할 때만 붙이고 참조할 때는 붙이지 않는다.

 d. XML 문서에서 ID를 대입하면 이 이름이 R.java에 정수 상수로 정의된다.

  ㄱ. R.java(무슨 말인지 모르겠지만 일단 기록해둔다.)

더보기

① 목적 : 개발을 하다보면 수백 개의 리소스가 만들어지는데, 코드 영역에서 이를 식별할 방법이 필요합니다.

이를 도와주기 위한 파일이 R.java입니다. R.java 파일은 툴이 자동으로 만들어줍니다.

>> 안드로이드에서 자동으로 리소스 관리해주는 기능. 리소스 관리자 R.java.

 

② 작동원리

> 이미지 삽입 / 레이아웃 생성 등 모든 리소스의 작업들이 "R"클래스 내부에 자동으로 아이디 생성하게 됨.

> 프로그래머들은 리소스 아이디로만 간편하게 사용 가능해짐.

(직접 리소스 가지고 올 필요 없음!)

 

③ 코드에서 보이는 연결점

> 초기 화면 작동시키는 setContentView(R.layout.activity_main);

> 레이아웃의 뷰를 가져와 사용하는 (아이디 이름) =  findViewById(R.id.아이디 이름);

 

④ 기타

> 이 파일을 열어보면 단순하게 int 형 변수만 선언되어 있는데, 이는 res폴더의 리소스들을 식별하기 위한 변수임.

> R.java에서 각각의 리소스를 내부 클래스명인 string, drawable, layout 등으로 구분하고 있고, 각각의 변수는 대부분 파일명을 이용함.

> 이런 이유로 res 밑에 임의의 폴더를 생성하면 안 됨. 리소스 파일명도 자바 명명규칙을 위배 불가.

   또한 리소스 파일명에 대문자를 사용할 수 없습니다.

 

 

4) onCreate

 a. Main.java에서 쓰는 것, 초기 화면라고 생각.

 b. setContentView(R.layout.(레이아웃이름)) : 해당 레이아웃 출력(현재는 메인.xml).

 c. setOnClickListener : 클릭시 작성한 코드가 실행되게 함.

>> 블로그의 글, [Android_기초] 이벤트 처리 방법

 

 d. (참고) 활동수명주기와 연관

 >> 안드로이드 스튜디오 기술 문서

 

 

2. 기타

1) constraintlayout 대신 Linearlayout 쓰는 중. 각각의 특성과 차이, 장점들을 알고 싶음.

2) html 주석처리 <!-- -->

c언어, 자바,.. 주석처리

// (한줄 주석) 혹은 /* (다중 주석) */

저작자표시 비영리 (새창열림)

'모바일 > android' 카테고리의 다른 글

[안드로이드프로그래밍 6판] 2장 직접 풀어보기 2-3, 연습 문제 7  (0) 2021.10.15
[android_기초] 새로운 위젯 형성의 흐름, Toast 메시지 이용  (0) 2021.09.13
[android_기초] 참고: xml 문서 작성방법  (0) 2021.09.13
[Android_기초] 인텐트(intent) 화면 간 이동, 데이터 전달  (0) 2021.08.18
[Android_기초] 이벤트 처리 방법  (0) 2021.08.14
'모바일/android' 카테고리의 다른 글
  • [android_기초] 새로운 위젯 형성의 흐름, Toast 메시지 이용
  • [android_기초] 참고: xml 문서 작성방법
  • [Android_기초] 인텐트(intent) 화면 간 이동, 데이터 전달
  • [Android_기초] 이벤트 처리 방법
hatch
hatch
250x250
hatch
차근차근 쌓아올리는,
hatch
전체
오늘
어제
  • 분류 전체보기 (121)
    • TIL (3)
    • [JAVA] (17)
      • 생활코딩 (11)
    • 모바일 (25)
      • android (24)
      • ReactNative (1)
    • 웹개발 (25)
      • React (3)
      • jQuery (5)
      • Springboot (2)
    • 알고리즘 (42)
    • [프로그래밍기초지식] (1)
    • [기술문서 읽기] (0)
      • 개념 번역 (0)
    • 인사이트(insight) (2)
    • git (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • write
  • manger

공지사항

인기 글

태그

  • BufferedReader
  • 타일링
  • 백준
  • state
  • javascript
  • DP
  • 재귀
  • 별찍기
  • 안드로이드프로그래밍6판
  • Doit!자바프로그래밍입문
  • 중복리니어레이아웃
  • jquery
  • 반복문
  • scanf
  • 모프2주차
  • 노이클립스
  • 깊은복사
  • TIL
  • 명시적 인텐트
  • 210908

최근 댓글

최근 글

hELLO · Designed By 정상우.
hatch
[Android_기초] wrap_content, match_parent 차이와 id 정의
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.