#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 |