๊พธ์ค€ํ•จ์ด ์ง„๋ฆฌ๋‹ค!!

์–ด์ œ๋ณด๋‹ค ๋ฐœ์ „ํ•œ ์˜ค๋Š˜์ด ๋˜๊ณ ํ”ˆ ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ์˜ ๋ธ”๋กœ๊ทธ

android retrofit 2

[Kotlin][Android] ์•ˆ๋“œ๋กœ์ด๋“œ MVVM ํŒจํ„ด์— ๋Œ€ํ•ด์„œ - Retrofit์œผ๋กœ ์ „์†ก๋ฐ›์€ ๊ฐ’์„ MVVM๊ตฌ์กฐ ์ ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹ ์˜ค๋Š˜์€ MVVM ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. MVVM ํŒจํ„ด์ด๋ž€? MVVM ํŒจํ„ด์€ Model, View, ViewModel์„ ๋ถ„๋ฆฌํ•ด View์™€ Model ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์ค„์—ฌ์ฃผ๋Š” ํŒจํ„ด์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. View ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ โฌ‡๏ธ ViewModel View์—์„œ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ํ•จ์ˆ˜ ๋“ฑ์„ ํ˜ธ์ถœ โฌ‡๏ธ Model ViewModel์—์„œ ์š”์ฒญํ•˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ โฌ‡๏ธ ViewModel ๋ชจ๋ธ์—์„œ ๋ฐ˜ํ™˜๋ฐ›์€ ๊ฐ’์„ LiveData๋กœ ๊ฐ์‹ธ์คŒ โฌ‡๏ธ View ๋ผ์ด๋ธŒ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ์ถœ๋ ฅ ๊ทธ๋ ‡๋‹ค๋ฉด.. ์™œ MVVMํŒจํ„ด์„ ์‚ฌ์šฉํ• ๊นŒ์š”? ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ํŒจํ„ด์œผ๋ก  MVC , MVP ํŒจํ„ด์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. MVC์˜ ๊ฒฝ์šฐ View์™€ Controller๋ฅผ ์•กํ‹ฐ๋น„ํ‹ฐ์—์„œ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๊ธฐ์— Vie..

Android/Kotlin 2022.11.10

[Kotlin][Android] ์•ˆ๋“œ๋กœ์ด๋“œ REST ํ†ต์‹  - Retrofit2(๋ ˆํŠธ๋กœํ•)์˜ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ‘‹ ์˜ค๋Š˜์€ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ Rest ํ†ต์‹ ์„ ํ•˜๋Š” ๋ฒ•๊ณผ Retrofit2์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ํฌ์ŠคํŒ…ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. REST(’RE’presentational ‘S’tate ‘T’ransfer)๋ž€? HTTP URI(Uniform Resource Identifier)๋ฅผ ํ†ตํ•ด ์ž์›(Resource)์„ ๋ช…์‹œํ•˜๊ณ , HTTP Method(POST, GET, PUT, DELETE)๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•œ CRUD Operation์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Retrofit2์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”? Retrofit2 ๋ž€? OkHttp๋ฅผ ๋งŒ๋“  Square์‚ฌ์—์„œ ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ Annotation์„ ์ด์šฉํ•˜์—ฌ REST๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (OkHttp๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ reflect๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ) ๊ทธ..

Android/Kotlin 2022.11.07