수박수박수박수박수박수
해결방법 :
북마크 : f3
라인 복사 : ctrl+d
전에 봤던 라인 보기 : ctrl + [
findViewById<>(R.id.) : 아이디 찾기
setOnClickListener{} : 클릭
Random : 랜덤 힘수
Log.d("","")
예외처리
require() : 매개변수 값이 참인지 체크 거짓이라면 throw IllegalArgumentException(적절하지 않은 인자를 전달 했을때)
requireNotNull() : 매개변수의 값이 null이 아니면 value를 반환, null이면 throw
check() : 매개변수 값이 참인지 체크 거짓이라면 throw IllegalStaateException(메서드 호출 상태가 아닐때)
checkNotNull() : 매개변수의 값이 null이 아니면 value를 반환, null이면 throw
레이아웃
Linear Layout : 컨테이너에 포함 된 뷰들을 수평 또는 수직으로 일렬 배치하는 레이아웃
(자식으로 배치되는 위젯들 한반향, 중첩x)
Relative Layout : 뷰를 서로 간의 위치 관계나 컨테이너와의 위치 관계를 지정하여 배치하는 레이아웃
(중첩0)
Table Layout : 표 형식 차일드를 배치하는 레이아웃
(자식 위젯들을 테이블로 나우어 표시)
Frame Layout : 컨체이너에 포함된 뷰들을 전부 좌상단에 배치하는 레이아웃
(하나의 자식 위젯만 표현할때 사용, 중첩, 예: 영상,인터넷창)
Constraint Layout : 제약 조건을 사용해 화면 구성
(복잡한 레이아웃을 단순한 계층구조를 이용해 표현, Relative 보다 다양하고 유연
안드로이드 컴포넌트
액티비티 : 상호작용 하는 화면, 사용자 ui담당하며, 사용자의 입력에 반응
서비스 : 백그라운드에서 실행되어야 하는 작업
브로그캐스트 리시버 : 안드로이드 시스템에서 발송되는 이벤트나 정보를 애플리케이션이 받을수 있게 해주는 역할
콘텐트 프로바이더 : 애플리케이션간의 데이터 공유를 가능하게 합니다