[TIL] 0625 화요일

Anna·2024년 6월 25일

[TIL]Android

목록 보기
8/34
post-thumbnail

📖 오늘의 공부

📖 오늘 배운 것

  • for (i in categoryList.indices)
    • 리스트 categoryList의 유효한 인덱스 범위를 순회하며, i는 각 요소의 인덱스를 나타남
    • categoryList[i] 인덱스를 사용하여 요소에 접근 가능

  • .isNotEmpty() && toIntOrNull() in -1 until list.size + 1
    • 비어 있지 않고, 정수로 변환 가능하며, 그 정수가 리스트의 유효한 인덱스 범위 내에 있으면 리턴

  • 보조 생성자를 사용하여 프로포티를 초기화하는 것보다, 주 생성자 활용하면 코드가 더 간결하다

  • 운영체제 & 플랫폼
    • 안드로이드 운영체제는 리눅스(Linux) 커널과 이에 기반한 안드로이드 소프트웨어 스택으로 구성되어 있습니다.
    • 플랫폼 버전이랑 API 레젤이 존재한다.
      • API레벨에 따라 새로운 기능 추가, 혹은 코드 전체를 변경해야 할 수 있음
    • 코틀린은 함수형 프로그래밍과 객체지향 프로그래밍 언어다.

👀 함수형 프로그래밍

일급 시민인 함수

  • 함수를 일반 값처럼 다룰 수 있다.
    • 변수에 저장
    • 인자로 다른 함수에 전달할 수 있음
    • 함수에서 새로운 함수를 만들어서 반환할 수 있다.

불변성

함수형 프로그래밍에서는 일단 만들어지고 나면 내부 상태가 절대로 바뀌지 않는 불>변 객체를 사용해 프로그램을 작성한다.

부수 효과(side effect) 없음

함수형 프로그래밍에서는 입력이 같으면 항상 같은 출력을 내놓고 다른 객체의 상태를 >변경하지 않으며,

함수 외부나 다른 바깥 환경과 상호작용하지 않는 순수 함수를 사용한다.


  • Jetpack (안드로이드 채용 공고에서 가끔 보여서 궁금해서 정리해봄. )
    • 2018년 5월 8일에 구글이 발표한 라이브러리와 도구 모음집
    • 개발자들이 쉽고! 빠르고! 퀄리티 좋은! 앱을 만들 수 있도록 도와주는 라이브러리와 도구를 모아두었다.
    • 모바일 기기는 기기마다 해상도, 성능, 버전 다 다르다.
      • 같은 코드지만 Jetpack API를 사용하여 일관성을 유지하는데 도움이 된다.
    • 생명 주기와 메모리 누수를 해결한다.

  • 안드로이드 제트팩 구성 요소
    • Jetpack 라이브러리는 크게 4가지 카테고리로 분류할 수 있고, 하위 카테고리로 또 나뉜다고 한다.

  • Data Binding : XML 레이아웃 파일에서 데이터를 직접 바인딩하여 사용
  • Lifecycles : 안드로이드 컴포넌트의 생명주기를 관리
  • LiveData : 데이터의 변경을 관찰
  • Room : SQLite DB를 관리
  • ViewModel : UI 관련 데이터의 생명주기를 관리
  • CameraX : 다양한 카메라 호환성을 제공
  • Navigation : 앱 내 화면 간의 이동 관리
  • WorkManager : 백그라운드 작업 관리
  • Compose : 안드로이드 UI를 선언형으로 심플하게 구성
  • Paging : 대량의 데이터를 효율적으로 로드
  • AppCompat : 최신 안드로이드 기능을 이전 버전에서도 사용할 수 있게 처리
  • Hilt : 의존성 관련 라이브러리

  • 입문 단계에서 꼭 필요한 라이브러리
    • Collection
    • ConstraintLayout
    • Fragment
    • RecyclerView
    • ViewPager2
    • Preference
    • Room

📖 회고

  • 코드 해석

오늘 처음으로 코드 해석을 진행했다.

  1. 더러운 코드를 보면서 나는 그렇게 하지 말아야지라고 다짐했다.
  2. 내가 푼 것과 다르게 작성한 코드를 보면서 새로운 방식을 배워갔다.
  3. 자주 보다 보면 익숙해져서 자연스럽게 코드를 잘 짜지게 된다.
  • 사전캠프 git-book

계속 안 보다가 오늘 우연히 보게 됐는데 새롭게 알게 된 것들이 있다.
앞으로 자료를 받게 되면 꼭 읽어 보기.. 머쓱

  • 계산기 추가 구현

registerForActivityResult
개념 이해만 하고 실습하면서 조금 더 익숙해 질려고 했는데, 시간이 없어서 밤에 추가로 해서 내일에 올릴 예정!

0개의 댓글