Retrofit이란?

Retrofit 이란? REST API 통신을 위해 구현 OkHttp 라이브러리의 상위 구현체 Retrofit 구성요소 DTO 'Data Transfer Object' 형태의 모델(Model)/JSON 타입 변환에 사용 Interface 사용할 HTTP CRUD

2023년 2월 5일
·
0개의 댓글
·
post-thumbnail

[Android] RecyclerView Adapter 와 ListAdapter

RecyclerView Adapter View 객체를 재사용하기 위한 ViewHolder 객체 생성 해당 객체에 데이터 리스트를 주입 데이터 리스트의 변경을 UI에 반영 -> notifyDataSetChanged()를 사용 그런데 데이터가 변경되는 방식을 확인하고

2023년 2월 4일
·
0개의 댓글
·
post-thumbnail

[AndroidStudio] 중고거래 앱

완성 화면주요 기능Firebase Authentication을 사용해 회원가입 / 로그인 기능 구현회원 기반으로 중고 상품 등록Firebase Storage를 사용해 상품 등록 시 사진 업로드회원 기반으로 채팅창 구현Firebase Realtime Database 이용

2022년 12월 28일
·
0개의 댓글
·
post-thumbnail

[Android Studio] Airbnb 앱

네이버 맵 api를 이용해 지도를 메인으로 숙소 목록을 서버에서 받아와 마커로 나타내고 하단에 viewPager를 이용해 좌우로 스크롤이 가능한 페이저를 두어 숙소를 살필 수 있다.완성 화면주요 기능네이버 맵 api 사용해 지도 보여주기Mock api에서 예약 가능한

2022년 12월 28일
·
0개의 댓글
·

MVVM패턴과 ACC

MVVM 패턴 Model, View, ViewModel을 구성하고 있는 패턴 View Activity나 Fragment가 View 역할을 함 사용자의 액션을 받음 (텍스트 입력, 버튼 터치 등) ViewModel의 데이터를 관찰하여 UI를 갱신 ViewMo

2022년 11월 28일
·
0개의 댓글
·
post-thumbnail

Repository 패턴

데이터 출처(로컬 DB인지 API응답인지 등)와 관계없이 동일 인터페이스로 데이터에 접속할 수 있도록 만드는 것을 Repository 패턴이라고 한다. Repository는 데이터 소스에 액세스하는 데 필요한 논리를 캡슐화하는 클래스 또는 구성요소이다.Presentat

2022년 11월 28일
·
0개의 댓글
·

[Kotlin] 프로퍼티 초기화, lateinit, lazy

Kotlin은 NullPointException을 예방하기 위해 프로퍼티(변수)에 무조건 값을 할당하도록 하였다. Java의 경우, 아래의 코드처럼 작성해도 에러가 발생하지 않는다. 하지만 Kotlin의 경우 var name: String 으로만 선언하면 에러가

2022년 11월 28일
·
0개의 댓글
·

[Kotlin] open, internal

> open 자바에서는 클래스에 final이 붙지 않으면 다른 클래스에서 상속이 가능하다. 하지만 코틀린에서의 클래스와 메서드는 기본적으로 final이다. 따라서 다른 클래스의 상속을 허용하려면 그 클래스 앞에 open 키워드를 붙여야 한다. 또한, overrid

2022년 11월 28일
·
0개의 댓글
·
post-thumbnail

Cloud Firebase 보안 규칙 오류

https://firebase.google.com/docs/firestore/security/get-started위의 링크를 참고해서 각 조건에 맞게 규칙을 작성하면 된다.

2022년 11월 22일
·
0개의 댓글
·

RecyclerView 효율적으로 사용 (DiffUtil, ListAdapter)

예를 들어 RecyclerView에서 보여줄 리스트에서 10개의 노래 아이템이 들어있는 리스트를 새로고침 했을 때, 9개의 데이터는 그대로인데 1개만 노래 제목이 바뀌었다면 어떻게 될까? notifyDataSetChanged() 를 사용하면 되겠지만, 실질적으로 다시

2022년 10월 26일
·
0개의 댓글
·

[Kotlin] 컬렉션 API

공식문서컬렉션을 이터레이션하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 모은다. Filter의 결과는 입력 컬렉션의 원소 중에서 주어진 조건문에 만족하는 원소만으로 이루어진 새로운 컬렉션이다.나이가 20살 이상인 사람만 뽑아내는 Person

2022년 9월 21일
·
0개의 댓글
·

[Kotlin] 스코프 함수(Scope functions)

let, run, with, apply, also 5가지로 객체 생성시 사용하는 함수들이다. 자체적인 scope를 갖는 코드블럭을 사용해서 scope function이라 불린다.공식문서 (https://kotlinlang.org/docs/scope-functi

2022년 9월 19일
·
0개의 댓글
·

viewLifecycleOwner

DB나 서버의 값이 변경되는 것을 실시간으로 감지한 후 UI에 업데이트하기 위해 LiveData를 사용한다. LiveData를 관찰하기 위해서 observe()를 사용하고, observe()에 LifecyclerOwner라는 것을 전달한다.그렇다면 프래그먼트에서 obs

2022년 9월 14일
·
0개의 댓글
·
post-thumbnail

[Android Studio] 쇼핑몰 앱

클린 아키텍처 빌드업 > Koin di/AppModule Application > Data 영역 entity/ProductEntity network/Url network/ProductApiService network/ProvideAPI response

2022년 7월 18일
·
0개의 댓글
·
post-thumbnail

MVVM패턴, AAC(Android Architecture Components)

MVVM 패턴ModelViewViewModelView는 ViewModel을 알지만, ViewModel은 View를 알지 못한다.ViewModel은 Model을 알지만, Model은 ViewModel을 알지 못한다.이런 구조를 통해 ViewModel과 Model이 Vie

2022년 6월 12일
·
0개의 댓글
·

[Android] Room

> 기본 구성요소 Room에는 다음 3가지 주요 구성요소가 있다. 데이터베이스 클래스 데이터 항목 : 앱 데이터베이스의 테이블을 나타냄 DAO : 쿼리, 업데이트, 삽입, 삭제 메서드 제공 데이터베이스 클래스는 데이터베이스와 연결된 DAO인스턴스를 앱에 제공한다

2022년 6월 1일
·
0개의 댓글
·
post-thumbnail

[Android Studio] 유튜브 앱

완성화면 주요기능 Retrofit 을 이용해 서버에서 영상 목록을 받아와 보여주기 Motion Layout 을 이용해 영상 플레이어 화면 전환 애니메이션 구현 영상 목록을 클릭하여 ExoPlayer 를 이용해 영상 재생 사용 기술 MotionLayout ExoPla

2022년 5월 26일
·
0개의 댓글
·
post-thumbnail

[Android Studio] 음악 스트리밍 앱

> 완성 화면 주요 기능 Retrofit 을 이용해 서버에서 음악 받아와 재생 목록 구성 재생 목록을 클릭하여 ExoPlayer 를 이용해 음악을 재생 이전/다음 곡 재생, UI 업데이트 재생 목록 화면과 플레이 화면 간 전환 seekBar 를 커스텀 하여 원하

2022년 5월 26일
·
0개의 댓글
·

[Kotlin] sealed class

sealed class는 부모 클래스를 상속받는 자식 클래스의 종류를 제한하는 특성을 갖고 있는 클래스이다.어떠한 클래스를 상속받는 하위 클래스는 여러 파일에 존재할 수 있기 때문에 컴파일러는 얼마나 많은 하위 클래스들이 있는지 알지 못한다. 하지만 sealed cla

2022년 5월 9일
·
0개의 댓글
·

[Android] Retrofit2

Retrofit란? 서버와 클라이언트 간 http 통신을 위한 라이브러리이다. REST 기반의 웹 서비스를 통해 JSON 구조의 데이터를 쉽게 가져오고 업로드할 수 있다.사용방법1\. 의존성 추가Gson Converter : JSON 타입의 응답결과를 객체로 매핑(변환

2022년 5월 5일
·
0개의 댓글
·