안드로이드에서는 프로세스 통신을 위해 Bundle 클래스를 사용한다. Bundle 클래스는 Key와 Value가 있는 Map형태의 클래스다. 하지만 Bundle에서 많은 데이터가 들어가 있는 자바의 POJO나 코틀린의 data class의 경우 Value로 입력하기
Glide 는 안드로이드에서 이미지를 빠르고 효율적으로 불러올 수 있게 도와주는 라이브러리이다.사용 방법build.gradle (:app) 의존성 추가AndroidManifest.xml 인터넷 퍼미션 추가기본 사용법주요 함수예시
클린 아키텍처는 4 계층으로 나누어져 있다. 이는 계층을 분리하여 관심사를 분리시키기 위해서이며, 동작하기 위해서는 의존성 규칙을 지켜야 한다. 다시 말해, 분리된 클래스가 한가지 역할만 하고 서로 의존을 어떻게 할지 정해져 https://youngest-progr
의존성 주입(DI)앱의 크래스는 올바른 작동을 위해 다른 클래스에 종속된다. 특정 클래스의 종속 항목을 수집하는 데 다음 디자인 패턴 중 하나를 사용할 수 있다.종속 항목 주입(DI)서비스 로케이터이 패턴은 코드를 중복하거나 복잡성을 추가하지 않아도 종속 항목을 관리하
아키텍처를 사용하면 좋은 이유 일관적인 코드 작성으로 유지보수, 협업 장점 생산성 향상 테스트의 용이성 어플리케이션 개발의 방향성을 잡아줌 일반적인 아키텍처 종류 MVC : Model + View + Controller MVP : Model + View(ViewC
Retrofit란? 서버와 클라이언트 간 http 통신을 위한 라이브러리이다. REST 기반의 웹 서비스를 통해 JSON 구조의 데이터를 쉽게 가져오고 업로드할 수 있다.사용방법1\. 의존성 추가Gson Converter : JSON 타입의 응답결과를 객체로 매핑(변환
> 기본 구성요소 Room에는 다음 3가지 주요 구성요소가 있다. 데이터베이스 클래스 데이터 항목 : 앱 데이터베이스의 테이블을 나타냄 DAO : 쿼리, 업데이트, 삽입, 삭제 메서드 제공 데이터베이스 클래스는 데이터베이스와 연결된 DAO인스턴스를 앱에 제공한다
DB나 서버의 값이 변경되는 것을 실시간으로 감지한 후 UI에 업데이트하기 위해 LiveData를 사용한다. LiveData를 관찰하기 위해서 observe()를 사용하고, observe()에 LifecyclerOwner라는 것을 전달한다.그렇다면 프래그먼트에서 obs
예를 들어 RecyclerView에서 보여줄 리스트에서 10개의 노래 아이템이 들어있는 리스트를 새로고침 했을 때, 9개의 데이터는 그대로인데 1개만 노래 제목이 바뀌었다면 어떻게 될까? notifyDataSetChanged() 를 사용하면 되겠지만, 실질적으로 다시
데이터 출처(로컬 DB인지 API응답인지 등)와 관계없이 동일 인터페이스로 데이터에 접속할 수 있도록 만드는 것을 Repository 패턴이라고 한다. Repository는 데이터 소스에 액세스하는 데 필요한 논리를 캡슐화하는 클래스 또는 구성요소이다.Presentat
MVVM 패턴 Model, View, ViewModel을 구성하고 있는 패턴 View Activity나 Fragment가 View 역할을 함 사용자의 액션을 받음 (텍스트 입력, 버튼 터치 등) ViewModel의 데이터를 관찰하여 UI를 갱신 ViewMo
RecyclerView Adapter View 객체를 재사용하기 위한 ViewHolder 객체 생성 해당 객체에 데이터 리스트를 주입 데이터 리스트의 변경을 UI에 반영 -> notifyDataSetChanged()를 사용 그런데 데이터가 변경되는 방식을 확인하고
Retrofit 이란? REST API 통신을 위해 구현 OkHttp 라이브러리의 상위 구현체 Retrofit 구성요소 DTO 'Data Transfer Object' 형태의 모델(Model)/JSON 타입 변환에 사용 Interface 사용할 HTTP CRUD