๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์š”์ฆ˜์˜ ๊ณ ๋ฏผ ๊ทธ๋ฆฌ๊ณ  ๋ฒŒ์จ 24๋…„ ํ•˜๋ฐ˜๊ธฐ ๋ญ ํ•˜๋‚˜ ์ œ๋Œ€๋กœ ํ•œ ๊ฒƒ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฒŒ์จ 9์›”์ด๋ผ๋Š” ์ƒ๊ฐ์— ๋จธ๋ฆฌ๊ฐ€ ์ง€๋ˆ์ง€๋ˆํ•˜๋‹ค.๊ทธ๋ž˜๋„ ์˜ฌํ•ด๋Š” ์ž‘๋…„๋ณด๋‹ค๋Š” ์ž์ฃผ ๊ธ€์„ ํ•œ ๋‹ฌ ์ •๋„๋ผ๋Š” ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ํ•œ ๋‘ ๊ฐœ์”ฉ ์˜ฌ๋ ค๋ณด๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ๋˜ ๋ฐ”์œ ์‹œ์ฆŒ์ด ์‹œ์ž‘๋˜๋‹ค ๋ณด๋‹ˆ ์ด๋งˆ์ €๋„ ์‰ฝ์ง€๋Š” ์•Š๋‹ค.๊ธ€๊ฐ ๋ฒ„ํผ๋Š” ๊ณ„์† ์Œ“์ด๋Š”๋ฐ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐ€์ง€๋Š” ๋ชปํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๊ณต๋ถ€๋„ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ์‹ค์ •์ด๋ผ ์กฐ๊ธ‰ํ•จ๋งŒ ๋А๋ผ๊ณ  ์žˆ๋‹ค.์ƒˆ๋กœ์šด ์„œ๋น„์Šค ๋Ÿฐ์นญ ์ผ์ž๋Š” ๊ฐ€๊นŒ์›Œ ์˜ค๋Š”๋ฐ, ๋ง‰์ƒ ๊ฐœ๋ฐœ๋œ ๊ฑด ์—†๋Š” ๊ฒƒ ๊ฐ™๊ณ  ์ด๋ž˜์ €๋ž˜ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ๋“ค์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค ๋ณด๋‹ˆ๊ฝค๋‚˜ ํž˜๊ฒจ์šด,, (์ผํ•˜๊ธฐ ํž˜๊ฒจ์šด)์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋ญ ์–ธ์ œ๋‚˜ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์€ ํž˜๋“ ๊ฑฐ๋‹ˆ๊นŒ,, ๊ทธ๋ž˜๋„ ์ž˜ ๋ฒ„ํ…จ๋ณด๊ณ  ์žˆ๋‹ค.๊ทธ๋ƒฅ, ์ผํ…Œ๊ธฐ๊ฐ€ ์„ธ๊ฒŒ ์˜จ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ  ์˜์š•์ด ์ž˜ ์ƒ๊ธฐ์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ ์  ๋„์ „๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ ์ƒ๊ธฐ๋Š” ๋А๋‚Œ์ด ๋“ ๋‹ค.ํ•  ์ผ์ด ๋งŽ์ง€.. 2024. 9. 4.
์„œ๋ฒ„์—์„œ ๋‚ ์งœ ๋ฐ์ดํ„ฐ๋ฅผ,,, ์ด๋ ‡๊ฒŒ ์ค˜๋ฒ„๋ ธ๋‹ค,,, (Android ๋‚ ์งœ ์–‘์‹ ๋ฐ”๊พธ๊ธฐ!) ์šฐ๋‹ค๋‹ค๋‹ค ๊ฐœ๋ฐœ๋งŒ ํ•˜๊ณ ์žˆ๋Š” ์š”์ฆ˜์ž…๋‹ˆ๋‹ค... API ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐํ•˜๋˜ ๋„์ค‘์— ํŠน์ •ํ™”๋ฉด๋งŒ ๋“ค์–ด๊ฐ€๋ฉด ์•ฑ์ด ์ฃฝ๊ธธ๋ž˜, fatal ์˜ค๋ฅ˜๋งŒ ์ •๋ฆฌํ–ˆ๋”๋‹ˆ ์ด๋Ÿฐ ์นœ๊ตฌ๊ฐ€ ํ•˜๋‚˜ ์žˆ๋”๋ผ๊ตฌ์š”.java.time.format.DateTimeParseException์™œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š”๊ฐ€ ํ–ˆ๋”๋‹ˆ ๊ธฐ์กด Util ํ•จ์ˆ˜์— ๋ฐ˜์˜๋˜์–ด์žˆ๋Š” ์–‘์‹๊ณผ ๋‹ค๋ฅธ ์–‘์‹์ด ๋„˜์–ด์™”๋”๊ตฐ์š”.์™œ ํŒŒ์‹ฑํ•˜๋‹ค ์˜ค๋ฅ˜๋‚˜๋Š”์ง€ ํ•œ์ฐธ์„ ๋ฉํ•˜๋‹ˆ ๋ฐ”๋ผ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹"2024-06-12T00:00:00" ์ด๋ ‡๊ฒŒ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ ํ™•์ธ ์•ˆํ•˜๊ณ  ๋ฐ์ดํ„ฐ type์œผ๋กœ string๋งŒ ํ™•์ธํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ถ™์ด๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์–ด์„œ ์ด์Šˆ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ธ์ง€๋ฅผ ๋ชปํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.ISO8601 ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ทœ๊ฒฉ์ด๊ธด ํ•œ๋ฐ, T๊ฐ€ ๋ถ™์–ด์žˆ์–ด์š” ใ…‹ใ…‹ใ…‹ใ…‹T์™€ ๋’ค์˜ ์‹œ:๋ถ„:์ดˆ์˜ ๊ทœ๊ฒฉ์ด ํ˜„์žฌ Util ํ•จ์ˆ˜์™€ ๋งž์ง€ ์•Š์•„.. 2024. 8. 6.
OkHttp ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ๊ฒฐ๊ณผ๊ฐ’๋“ค์„ ํ•˜๋‚˜์˜ data class๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ! ์ง€๋‚œ Retrofit๊ด€๋ จ ํฌ์ŠคํŒ… ์ดํ›„์—, ๊ณฐ๊ณฐ์ด ์ƒ๊ฐํ•ด ๋ณด๋‹ˆ๊นŒ ๋นผ๋จน์€ ๋‚ด์šฉ์ด ์žˆ๋”๋ผ๊ณ ์š”. ๊ทธ๋ž˜์„œ ์ถ”๊ฐ€๋กœ ํฌ์ŠคํŒ…์„ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค.๋ณดํ†ต ๊ฐ™์ด ์ผํ•˜๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋ถ„์— ๋”ฐ๋ผ, ํšŒ์‚ฌ ์ •์ฑ…์— ๋”ฐ๋ผ, ๋งŽ์ด ๋ณ€ํ™”๋˜๋Š” ๋ถ€๋ถ„์ธ๋ฐ์š”. ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ’์„ API์—์„œ ๋„˜๊ฒจ์ฃผ๋А๋ƒ์— ๋”ฐ๋ผ์„œ ์ด ๋‚ด์šฉ์ด ๋„์›€์ด ๋  ์ˆ˜๋„ ์•ˆ๋  ์ˆ˜๋„ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.ํ…Œ์ŠคํŠธ API์—์„œ๋Š” ๋”ฑํžˆ ํ•„์š” ์—†๋Š” ๋‚ด์šฉ์ด๊ณ , ์ €ํฌ ์‚ฌ๋‚ด API ๊ทœ์น™์—๋Š” ํ•„์š”ํ•œ ๋‚ด์šฉ์ธ๋ฐ์š”.API๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ ์ค‘, RESULT ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ Response ๊ตฌ์กฐ๊ฐ€ ์ค‘๋ณต์ฒ˜๋ฆฌ๋  ๋•Œ, ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ inteceptor๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ธฐ ์ „์— ์—ฌ๋Ÿฌ ์ฒ˜๋ฆฌ๋“ค์„ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด๋ณด์•˜๋Š”๋ฐ์š”๋กœ๊ทธ ํ™•์ธ์šฉํ—ค๋” ์‚ฝ์ž…์šฉ์ด๋ฒˆ์—๋Š” ๊ณตํ†ต response ๊ฐ’๋“ค์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ.. 2024. 8. 5.
1๋…„์— ํ•œ ๋ฒˆ ์˜ค๋Š” ๋ฉ”์ผ์ด ์™”์Šต๋‹ˆ๋‹ค. (Android API 34) ๋‹ค๋“ค ๋ฐ›์œผ์…จ์œผ๋ฆฌ๋ผ ์ƒ๊ฐ๋˜๋Š” 1๋…„์— ํ•œ ๋ฒˆ ์˜ค๋Š” ๊ตฌ๊ธ€์˜ ๋ฉ”์ผ์ž…๋‹ˆ๋‹ค. ์ž‘๋…„์—๋Š” ๊ฒฐ๊ตญ ์—ฐ์žฅ์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์˜ฌํ•ด๋Š” ๋ณ€ํ™”๊ฐ€ ํฌ์ง€๋Š” ์•Š์€ ๊ฒƒ ๊ฐ™์•„์„œ 8์›” ๋ง ์ „์— ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ž‘๋…„์—๋Š” ์ด๋ž˜์ €๋ž˜ ํ…Œ์ŠคํŠธํ•  ๊ฒƒ๋„ ๋งŽ๊ณ  ๊ณ ๋ คํ•ด๋ด์•ผ ํ•˜๋Š” ์˜์—ญ๋„ ๋งŽ์•˜๋Š”๋ฐ ๋‹คํ–‰ํžˆ ์ด๋ฒˆ์—๋Š” ์ €ํฌ ์„œ๋น„์Šค ์•ฑ๊ณผ ์ ์šฉ๋˜๋Š” ๋‚ด์šฉ์ด ๋งŽ์ง€๋Š” ์•Š๋„ค์š”. ๋‹คํ–‰์ž…๋‹ˆ๋‹ค.์ง€๊ธˆ ์ด ์—…๋ฌด๋ฅผ ์˜ค๋žซ๋™์•ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ›„๋”ฑ ์˜ฌ๋ฆฌ๊ณ  ํ›„๋”ฑ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ›„๋”ฑ QA๋ฐฐํฌ๋ฅผ ํ•ด์•ผ ํ•˜๋Š”๋ฐ์š”.์ผ๋‹จ ๋ฌธ์„œ๋ฅผ ์ฐฌ์ฐฌํžˆ ์ž˜ ์ฝ์–ด๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋™์ž‘ ๋ณ€๊ฒฝ์‚ฌํ•ญ: ๋ชจ๋“  ์•ฑ  |  Android Developers๋ชจ๋“  ์•ฑ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” Android 14์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.developer.android.comํ•ญ์ƒ ๋ฌธ์„œ๋ฅผ ์ œ๋Œ€๋กœ ์ฝ์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ.. 2024. 8. 4.
ํ™”๋ฉด์ด ๋ญ”๊ฐ€ ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ๋Š”๊ฑฐ ๊ฐ™๋‹ค. ์ด์œ ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์•ฑ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๋ญ”๊ฐ€ ํ™”๋ฉด์˜ ๋ Œ๋”๋ง ์†๋„๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๊ธธ๋‹ค๊ณ  ๋А๊ปด์งˆ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒƒ ๊ฐ™์ง€๋„ ์•Š๊ณ  ๋ฌด์–ธ๊ฐ€ ๋Œ€๋‹จํ•œ ํ™”๋ฉด์ด ์•„๋‹Œ๋ฐ, ์™œ ์˜ค๋ž˜ ๊ฑธ๋ฆด๊นŒ? ์‹ถ์€ ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.์ด๋Ÿด ๋•Œ Android Studio ๊ฐœ๋ฐœ ํˆด์—์„œ ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ์ฐพ์•„๋ณผ ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •์„ ๋‹ด์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ผ๋‹จ ํ™”๋ฉด์ด ์–ด๋–ป๊ฒŒ ๊ทธ๋ ค์ง€๋Š”์ง€์— ๋Œ€ํ•œ ๊ตฌ์กฐ์  ์ดํ•ด๊ฐ€ ํ•„์š”ํ•  ํ…๋ฐ์š”. ์ด ๋ถ€๋ถ„์€ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต์‹๋ฌธ์„œ์˜ ๊ทธ๋ž˜ํ”ฝ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ  |  Android ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ  |  Android Open Source Project๊ทธ๋ž˜ํ”ฝ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ •๋ฆฌํ•˜๊ธฐ ๋‚ด ํ™˜๊ฒฝ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜์„ธ์š”. Android ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„์˜ ์ œ.. 2024. 6. 26.
์˜์กด์„ฑ ์ฃผ์ž…์€ Hilt๋กœ, ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์€ Retrofit์œผ๋กœ Hilt๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ๋นŒ๋“œ์—๋Ÿฌ๋ฅผ ์ž์ฃผ ๋ณด๊ณค ํ•ฉ๋‹ˆ๋‹ค. ๋ญ ๋‹น์—ฐํ•œ ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค. Hilt์˜ ์—๋Ÿฌ๋Š” ๋นŒ๋“œ ์‹œ์— ํŒ๋‹จ๋˜๋‹ˆ๊นŒ์š”.์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.Retrofit ์„ ๊ตฌํ˜„ํ•˜์—ฌ API๋ฅผ ์—ฐ๋™ํ•  ๋•Œ, ์–ด๋–ค ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€, ์ธํ„ฐํŽ˜์ด์Šค์™€ Multiple ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๋•Œ๋Š” ์–ด๋–ค ๊ฒƒ์„ ์ฃผ์˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋“ฑ ์ „๋ฐ˜์ ์ธ ๊ตฌํ˜„์„ ๋‹ค๋ฃจ์–ด๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.์ผ๋‹จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด dependency๋ฅผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.build.gradle.ktx(:project)id("com.google.dagger.hilt.android") version "2.48" apply falsebuild.gradle.ktx(:app)hilt์™€ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ retrofit๊ณผ okhttp๋ฅผ .. 2024. 6. 25.
728x90
๋ฐ˜์‘ํ˜•