카테고리 없음

[Android]TIL 39일차

bunny code 2024. 7. 19. 22:15

* Logcat

 

에러는 크게 3가지로 나뉨

  1. 문법적인 에러(Syntax Error) : 실행 안 됨(빨간줄), 수정 가능
  2. 논리적인 에러(Logical error) : 로그를 직접 찍어서 어느 부분에서 잘못되었는지 확인(Log.d를 작성하여 로그캣으로 확인)
  3. 런타임 에러(Run Time error) : 로그캣으로 직접 확인

-> 에러 중에 Cause by(원인) 내용 중 내가 쓴 코드를  확인하면 됨(제일 상단에 있는 내용 확인)

—> 오류 명칭을 직접 구글링해도 됨

 

Try-catch를 통해 에러가 떠도 멈추지 않고 catch의 내용만 나오고 넘어가도록 설정 가능

 

무슨 오류인지는 모를 때 catch에 Exception을 작성해서 모든 오류를 퉁치게 할 수 있음

Catch 뒤에 finally를 추가로 작성해서 에러 유무 상관없이 메시지 출력 가능

 

Log의 기본적인 구성은 (태그, 메시지)

태그 : 속해있는 파일명이나 제목을 작성

메시지 : 확인하고자 하는 출력 내용

 

Log 종류

Log.d : 일반적으로 로그를 확인할 때 거의 사용

Log.i , Log.w : 이 둘은 거의 안 씀

Log.e : 눈에 띄게 확인하기 위해서 사용

Log.wtf : e와 동일

 

Log에서 특정 메시지만 확인하고 싶다 -> 메시지에 자기만의 문자를 작성하여 해당 문자를 이용하여 필터링

 

우측에 Ignore Tag를 누르면 특정 태그는 제외해서 보여줌

 

태그는 밖으로 빼서 전역 선언하는 걸 추천 

* 전역은 현재 파일 범위에서 전부 사용하겠다는 걸 의미

 

Companion object {

private const val TAG = “SingInActivity”

}

 

  • 애뮬레이터 제어 기능 : … 찍으면 가상의 카메라, 위치, 배터리 설정, 전화 등이 가능함
  • 디바이스 매니저 : file explorer를 통해 다운로드 된 이미지 위치를 찾고 가져오거나 또 생성할 수도 있음

 

* 스코프 함수

apply

run : apply와 비슷하지만 apply와 달리 내부에서 바로 작성이 가능함

With : with(member){println(${name})} —> println(“${member.name}”)과 동일

also

Let : null이 아닐 경우 let 내용이 출력

 

 

* Constraint Layout

  • 위젯간의 관계 설정
  • weight를 이용하여 위젯의 크기 비율을 설정함
  • Chain style packed를 하여 위젯 두 개를 중앙으로 두도록 설정할 수 있음

—> 위젯 개를 ctrl 누른 채로 클릭 우클릭해서 chain(수직, 수평 원하는 걸로) packed 설정