NOW OR NEVER

[Android] LogCat & UI 요소 - Widget 본문

Android

[Android] LogCat & UI 요소 - Widget

LAURA 2023. 6. 8. 17:39
반응형

Widget

text view

  • 문자열을 출력해서 보여주는 부분
  • listener 가 있긴 하지만 자주 사용되는 것은 없다
  • textAppearence
    • body, display,small, medium,large
    • 토글 버튼 클릭시 글자 관련 설정을 볼 수 있다.(글씨체 종류, 색 등)
    • 한글 때문에 코드로 글씨체 종류(font-family)를 설정하는 것을 추천한다.
    • 글자 크기는 sp(프린트로 문서 뽑을 시 글자 크기)
  • append : 기존 문자열 뒤에 문자열을 추가 할 수 있다.

button

  • 사용자가 터치하면 개발한 기능이 구현되게 하는 것
  • 이미지 버튼과 문자열을 표현하는 버튼이 있다. 이미지 버튼은 잘 사용하지 않는다.
  • ImageButton
    • backgroud - A% : 투명도 -> 이미지 버튼 사용 시 투명도를 0으로 설정 후 사용한다
    • 이미지 뷰를 써서 터치에 활성화하게 만들면 이미지 버튼과 같은 역할을 한다. 둘 중 원하는 방식으로 사용해도 된다.
    • srcCompat : 표시할 이미지(이미지 파일 이름은 앞에 숫자가 들어가면 안되고 소문자로만 구성해야 한다. - 변수이름이 이미지 파일이름 기반으로 하기 때문)
    • 이미지 파일은 res/drawable 폴더에 넣어야 사용 가능
    • 이미지 파일 사용 시 bitmap과 drawble 중 bitmap이 메모리가 더 적게 사용하므로 둘 다 있을 시 bitmap을 사용하는 것이 좋다

edit text

  • inputType
    • 입력에 관련된 부분 설정
    • 깃발 부분 누르면 설정 가능
    • 입력 종류
      • testNoSuggestions : 입력 시 제시어 안나오게 함
      • inputType에 따라 키보드 형식이 바뀜
      • password : 영어와 숫자만 허용
      • email : 키보드의 이모티콘 부분이 @으로 바뀜
      • multiLine : 다른 타입과 다르게 엔터를 사용할 수 있다.
    • 입력 타입에 상관없이 .text로 받아올 때 무조건 문자열로 반환되므로 toString()으로 변환 후 toInt()로 다시 변환해야 한다.
  • hint :입력되어 있는 것이 없을 때 나타나는 문구, 입력 안내 문구로 자주 사용
  • text : 미리 입력되어 있는 부분
  • 코드 상에서 editText 부분 수정시(editTextText.text) setText(문구) 사용해야 함

event

  • systemService : 안드로이드가 운영하고 있는 다양한 백그라운드 프로세스

    • InputMethodService : 키보드 관련 서비스
    • current focus 사용 후 clear focus를 해주는 것이 좋다.
  • requestFocus()

    • 문자열 세팅 후에 request focus를 하면 해당 문자열 뒤에 커서가 생긴다.
  • setOnEditorActionListener

    • 엔터 키를 눌렀을 때 이벤트
    • 고차 함수형으로 사용 가능 : setOnEditorActionListener{v,actionId, event -> 실행문}
  • addTextChangedListener

    • 고차 함수형으로 사용 가능 : TextWatcher의 afterTextChanged 역할을 한다. 사용자 입력 실시간 감시 용으로 사용할 경우 TextWatcher을 사용하기 보다 addTextChangedListener를 고차함수형으로 사용하는 게 낫다
    • TextWatcher형으로 사용 가능
    • it 사용 시 입력한 문자열 받아올 수 있음
  • Text Watcher

    • 사용자 입력 실시간 감시 용으로 사용할 수 있다.
    • beforeTextChanged : 입력 내용 변경 전
    • onTextChanged : 입력 내용 변경 했을 때
    • afterTextChanged : 입력 내용 변경 후
    • 위 메서드 오버라이딩해서 사용 : 안에 코드는 작성하지 않고 오버라이딩만 하는 것이 일반 적이다.


Logcat

  • 안드로이드 스튜디오에서의 콘솔 출력
  • 안드로이드 스튜디오 하단 메뉴에 존재
  • emulator가 출력하고 있는 메세지를 볼 수 있다.
  • 단말기 연결시 단말기가 출력하고 있는 메세지를 볼 수 있다.
  • print 내용은 필터로 system.out 검색하면 볼 수 있다. 단 태그가 없어 필터링하기 힘들어 필요한 메세지만 보기 힘들다.
  • Log(tag이름, 출력할 메세지 내용)
    • tag는 필터링 할 용도로 사용된다. 해당 태그를 필터링 해서 해당 태그를 가진 메세지들만 골라 볼 수 있다.
    • Log.i : information, 정보를 출력하는 용도
    • Log.d : 개발중에 출력해보고 싶은 것이 있을 때 사용
    • Log.e : error, 오류 메세지를 출력
    • Log.w : warning, 경고 메시지를 출력
    • Log.v : verbose, 기타 용도


etc

  • 코틀린의 경우 람다식을 사용하는 것이 편하므로 listener 등을 람다식으로 표현하면 좋다.
  • 미리보기와 다른 경우도 있으니 꼭 실행해서 실행화면 확인
  • !이 붙어있으면 null을 허용하는 변수
  • string은 문자열 변경이 불가능하기 때문에 editable 함수 사용으로 메모리를 쓸데없이 잡아먹는 것을 방지
  • .run 하는 경우 들여쓰기가 많아지기 때문에 불편해질 수 있음. 하지만 코드가 간결해지므로 쓰는 것을 권장한다.

'Android' 카테고리의 다른 글

[Android] UI 요소 - View 2  (0) 2023.06.14
[Android] Compound Component  (0) 2023.06.12
[Android] UI 요소 - View  (0) 2023.06.11
[Android] UI 요소  (1) 2023.06.07
[Android] Application 개발의 개요  (0) 2023.06.07
Comments