๐Ÿ“š TL; DR

๐Ÿ“– Retrofit

๐Ÿ“– Room

๐Ÿ“š Retrofit / Room

๐Ÿ“– ๊ฐœ์š”

Network ํ†ต์‹ ์„ ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Library์ธ Retrofit๊ณผ Room์„ RxJava์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์šฉ ํ•ด ๋ด…๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Retrofit / Room library์˜ ๊ธฐ์ดˆ์— ์ดˆ์ ์„ ๋‘์–ด ์„ค๋ช…ํ•˜๊ธฐ ๋ณด๋‹ค, RxJava์™€ Retrofit / Room์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ์ฃผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Retrofit์— ๋Œ€ํ•œ ์ƒ์„ธ ๋‚ด์šฉ์€ Docs๋ฅผ, Room์— ๋Œ€ํ•œ ์ƒ์„ธ ๋‚ด์šฉ์€ Docs๋ฅผ ์ฐธ์กฐ ํ•ด ์ฃผ์„ธ์š”.

๐Ÿ“– Retrofit ์„ค์น˜

๐Ÿ“– ๊ธฐ๋ณธ์ ์ธ Retrofit - RxJava Stream ๋ณ€ํ™˜ ๋ฐฉ์‹

๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ Retrofit๊ณผ ๋™์ผํ•˜๋‚˜, ๊ธฐ์กด์—๋Š” API interface๋ฅผ ๋งŒ๋“ค ๋•Œ Call<T>๊ฐ์ฒด๋ฅผ ๊ฒฐ๊ณผ ๊ฐ’์œผ๋กœ ๋ฆฌํ„ด ํ•ด ์ฃผ์ง€๋งŒ, RxStream, ์ฆ‰ Observable / Single / Completable ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ๊ฒฐ๊ณผ ํ˜•ํƒœ๋ฅผ ์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.