profile
그냥 사람

Retrofit CallAdapter

Retrofit은 HTTP API를 자바 api 형탤 사용할 수 있도록 하는 라이브러리로, kotlin에서는 코루틴과 엮여서 사용하게 된다. suspend 함수 형태로 선언하여 쉽게 사용할 수 있으나, 예외처리부분에서 약간의 귀차니즘이 생긴다. try-catch블록으로

2023년 1월 31일
·
0개의 댓글
·

Fragment와 ViewBinding

모듈에 있는 각 xml 레이아웃 파일에 대한 결합클래스를 생성. 바인딩 클래스의 인스턴스에는 상응하는 레이아웃에 ID가 부여된 모든 뷰에 대한 직접 참조가 포함됨.아래와 같이 app의 build.gradle 파일에 선언해주면 사용할 수 있음생성된 결합 클래스에는 xml

2023년 1월 26일
·
0개의 댓글
·

Scope Funtions

코틀린 표준 라이브러리에 포함된 객체 컨텍스트내에서 실행가능한 함수들로서 람다 표현식으로 구성되며, 해당 람다식은 임시적인 스코프를 구성한다.기본적으로는 블록내의 코드를 실행한다는 동일한 동작을 하지만, 블록내에서 객체가 어떤 방식으로 진입되는지, 그리고 블록의 결과가

2023년 1월 25일
·
0개의 댓글
·

ViewModel

비즈니스 로직 또는 화면 수준 상태를 유지하기 위한 홀더역할로, UI의 상태를 노출하고, 관련 비즈니스 로직을 캡슐화 할 수 있도록 하는 클래스화면을 가로 세로 전환하는 경우, 안드로이드는 액티비티를 Destroy 하고 재 생성하게 되는데, 이때 기존 유지하던 데이터가

2023년 1월 23일
·
0개의 댓글
·

ExoPlayer 개요

ExoPlayer는 Android 프레임워크에 속하지 않고 Android SDK에서 별도로 배포되는 오픈소스 프로젝트로 Android MediaCodec API를 기반으로 동작한다. MediaPlayer에서 지원하지 않는 DASH(Dynamic adaptive stre

2023년 1월 20일
·
0개의 댓글
·

프래그먼트의 라이프사이클

아래 이미지는 onAttach 이후 onDetach 사이의 라이프사이클이다.라이프사이클 이미지onAttach : 프래그먼트가 매니저에 추가되고, 호스트 액티비티에 연결될 때 호출됨. 이때부터 findFragmentById등으로 프래그먼트를 반환할 수 있는 시점이 됨.

2023년 1월 20일
·
0개의 댓글
·

MediaPlayer

MediaPlayer 클래스는 최소한의 설정으로 동영상과 오디오를 디코딩하여 재생할 수 있게 해준다.MediaPlayer의 상태 다이어그램은 다음과 같다stateMediaPlayer가 내부적으로 가지고 있는 상태이며 각 상태에 따라 가능한 동작이 다르다.기본적으로는 아

2023년 1월 19일
·
0개의 댓글
·

Android PictureInPicture

API 26부터 지원된 기능으로 액티비티를 pip 모드로 실행할 수 있다.해당 기능을 사용하기 위해서는 manifest 파일의 액티비티 부분에 android:supportPictureIPicture 속성을 true로 주면 사용할 수 있다.주요 사용법 및 특징은 다음과

2023년 1월 19일
·
0개의 댓글
·

Data class

데이터 보관을 목적으로 만들어진 클래스로서 생성자 프로퍼티에 대한 toString, equals, hashCode, copy, compoenetsN 메소드를 자동으로 생성해준다. 기본 모양은 아래와 같다. class 키워드 앞에 data라는 키워드를 붙임으로써 사용할

2023년 1월 18일
·
0개의 댓글
·

태스크와 백스택

사용자가 상호작용하는 액티비티 스택에대한 메타데이터와 여러 정보의 컬렉션을 의미하며, 스택 구조로 동작한다. 이 응집단위로 백그라운드 포그라운드 이동을 하게 된다.액티비티추가삭제액티비티가 열린 순서대로 저장되어 관리되는 공간을 의미. 백키를 누를 경우 최상단의 액티비티

2023년 1월 18일
·
0개의 댓글
·

suspendCancellableCoroutine

코루틴은 콜백을 사용하지 않고 비동기 처리를 해 주는 장점을 가지고 있음이 때문에 비동기 처리를 코드 순서대로 실행시켜 가독성을 높이고 보다 심플한 코드를 작성하게 해준다.기존 라이브러리들이 비동기 처리를 콜백으로 지원하는 경우가 많다. 이럴경우 코루틴으로 처리하기가

2023년 1월 18일
·
0개의 댓글
·