๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Android ์—์„œ ์งธ๊น์งธ๊น ํƒ€์ด๋จธ ๊ตฌํ˜„ํ•˜๊ธฐ ์ผ๋‹จ ๊ธฐ๋ณธ์ ์œผ๋กœ Android์—์„œ๋Š” ํƒ€์ด๋จธ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.CountDownTimer : Android ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ์ œ๊ณต๋”ฐ๋ผ์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ object๋ฅผ ์ƒ์†๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ €๋Š” ์กฐ๊ธˆ ๋” ์ค‘๋ณต์ฝ”๋“œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ ์ถ”์ƒํ™” ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜์—ฌ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ CountDownTimer๋ฅผ ์ด์šฉํ•˜์—ฌ ์ผ์‹œ์ •์ง€๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์žฌ๊ตฌํ˜„์„ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ถ”์ƒํ™” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์—, object๋ฅผ ์–ด๋–ค ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š”๊ธฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์ฝ”๋“œ ํ™”๋ฉด ๋‚ด์—์„œ ํƒ€์ด๋จธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ๋ฒ• ์ž…๋‹ˆ๋‹ค.์ €๋Š” ํ™”๋ฉด ์ฝ”๋“œ ๋‚ด์—์„œ countDownTimer๋ฅผ ์ „์—ญ๋ณ€์ˆ˜๋กœ ๋‘๊ณ  object์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ์–ธํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.onTick() , o.. 2024. 5. 3.
์ฝ”๋“œ๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋ฅผ ๋ชธ์œผ๋กœ ๋ฐฐ์šฐ๋‹ค. 22๋…„ 11์›” ์ด์ง ํ›„, ๋ฒŒ์จ 1๋…„์ด ์กฐ๊ธˆ ๋„˜๋Š” ์‹œ๊ฐ„ ๋™์•ˆ B2C ์„œ๋น„์Šค ์•ฑ์„ ๋‹ด๋‹นํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ค‘์š”์„ฑ์„ ์ ˆ์‹คํžˆ ๊นจ๋‹ซ๊ณ  ์žˆ๋Š” ์š”์ฆ˜์ž…๋‹ˆ๋‹ค.๋ถ„๋ช… SIํšŒ์‚ฌ์— ์žฌ์ง ์ค‘์ผ ๋•Œ๋Š” ํ”„๋กœ์ ํŠธ ์„ฑ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ์—…๋ฌด๊ฐ€ ๋„ˆ๋ฌด ํž˜์ด ๋“ค์—ˆ๋Š”๋ฐ์š”. ์„œ๋น„์Šค ์œ ์ง€๋ณด์ˆ˜ ์—…๋ฌด๋Š” ๊ทธ ๋‚˜๋ฆ„๋Œ€๋กœ์˜ ๊ณ ๋จ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž์˜ ํŠน์ดํ•œ ์˜ค๋ฅ˜์ผ€์ด์Šค ๋ถ€ํ„ฐ ์™ธ๊ณ„์ธ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํž˜๋“ฆ์ด ์žˆ๋”๋ผ๊ณ ์š”. ํŠนํžˆ ์ด๋ฒˆ์— ๊ฑฐ๋Œ€ ๋ฆฌํŽ™ํ† ๋ง์„ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋”๋”์šฑ์ด ๊ทธ๋Ÿฐ ์ƒ๊ฐ์„ ํ•˜๋Š” ์ค‘์ธ๋ฐ์š”, SI์—์„œ๋„ ๋ณธ์  ์—†์—ˆ๋˜ 'android-kotlin-extensions'๋ฅผ ๊ฑท์–ด๋‚ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ํ˜„์žฌ ์‹ค ์„œ๋น„์Šค ์ค‘์ธ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ ์ค‘์ด๊ณ , ์ด๋ฒˆ์— ํŠน์ • ์‚ฌ์œ ๋กœ Kotlin ๋ฒ„์ „๊ณผ ๊ธฐํƒ€ ์ฝ”๋“œ ํ™˜๊ฒฝ ๋ฒ„์ „ ๋“ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด์„œ ๋ฐœ๊ฒฌํ•˜๊ฒŒ.. 2024. 3. 24.
ViewBinding์œผ๋กœ Binding ์ฒ˜๋ฆฌํ•˜๊ธฐ. (feat. DataBinding) ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ViewBinding์„ ์ข€ ๋” ๋œฏ์–ด๋ณด๊ณ  ์—ฌ๋Ÿฌ ๋ทฐ์— ์ ์šฉ๋„ ์‹œ์ผœ๋ณด๋Š” ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์–ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์‚ฌ์‹ค ํ˜„์—…์—์„œ๋‚˜ ํ•™์ƒ๋•Œ๋‚˜ ViewBinding์€ ์ตํžˆ ์จ์™”๊ณ  ์ต์ˆ™ํ•˜๊ณ  ๋‹น์—ฐํžˆ View์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ˆ ์ ์œผ๋กœ ํƒ๊ตฌ๋ฅผ ํ•ด๋ณผ ์ƒ๊ฐ์€ ์—†์—ˆ๋Š”๋ฐ์š”.์ด๋ฒˆ์— ์—ฌ๋Ÿฌ ์ด์Šˆ๋“ค์„ ๊ฒช์œผ๋ฉด์„œ ๊ฒฝํ—˜์— ์˜์กดํ•˜๋Š” ์ฝ”๋”ฉ์ด ๊ต‰์žฅํžˆ ์œ„ํ—˜ํ•˜๊ณ  ์‹ค์ œ์ ์ธ ์—…๋ฌด ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ์ €ํ•˜์‹œํ‚ค๋Š” ๊ฒƒ์„ ๊ฒฝํ—˜ํ•˜๋ฉด์„œ ๋‹ค์‹œ ์›๋ก ์ ์ธ ๋ฌธ์ œ์— ์ง‘์ค‘ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ๋ฌธ์„œ๋“ค์„ ๋ณด๊ณ  ์ฝ”๋“œ์—๋„ ๋…น์—ฌ๋ณด๋ฉด์„œ ์ด ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋„ค์š”. ์—ญ์‹œ ๊ณต๋ถ€๋Š” ๋ฏธ๋ฆฌ๋ฏธ๋ฆฌ ๊ผผ๊ผผํ•˜๊ฒŒ,,,gradle(:app) ํŒŒ์ผ์—์„œ viewBinding ํ™œ์„ฑํ™”android { buildFeatures { viewBinding = t.. 2024. 3. 23.
kotlin-android-extensions ๋ฅผ ๊ฑท์–ด๋‚ด์ž. ๊ฑท์–ด๋‚ด์ž! ์ด๋ฏธ ์ง€์› ์ข…๋ฃŒ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด์ง€๋งŒ, ์•„์ง ์ œ๊ฐ€ ๋“ค๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์‚ด์•„ ์ˆจ ์‰ฌ๋Š” ์ด ์นœ๊ตฌ์™€ ํ•œ๋ฒˆ ์ ˆ๊ต๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.๋จผ์ € gradle(:app)ํŒŒ์ผ ๋‚ด์˜ plugins์— ์ ์šฉ๋˜์–ด ์žˆ๋Š” 'kotlin-android-extensions'์„ ์‚ญ์ œํ•˜๊ณ , buildFeature ๋‚ด๋ถ€์— viewBinding์ด ํ™œ์„ฑํ™”๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฉด true๋กœ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋“ค๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—๋Š” ์ด๋ฏธ viewBinding์ด ์ ์šฉ๋˜์–ด ์žˆ๊ณ , synthetic๊ธฐ๋Šฅ์„ ๋ ˆ๊ฑฐ์‹œ๋กœ ํ˜ผ์šฉํ•˜์—ฌ ์“ฐ๊ณ  ์žˆ๋˜ ํ˜•ํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ํ™œ์„ฑํ™”๋Š” ๋˜์–ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. kotlin-android-extensions์„ ํ†ตํ•ด ๊ธฐ ์ ์šฉ๋œ ์„œ๋น„์Šค๋ฅผ ๋ณด๋ฉด, kotlin์˜ synthetic ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ viewBinding์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ตฌํ˜„ํ•œ ๋ชจ์Šต๋“ค์„ ๋ณผ ์ˆ˜๊ฐ€ .. 2024. 3. 22.
24๋…„, 1์›” 2024๋…„ 1์›” 26์ผ ๋ฒŒ์จ ์ƒˆ๋กœ์šด ํ•ด๊ฐ€ ํ•œ ๋‹ฌ์ด๋‚˜ ์ง€๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค. ๊ฑฐ์˜ ๋ญ ์ˆœ์‚ญ ๋‹นํ•ด๋ฒ„๋ฆฐ.... 1์›” ๋†€๋ž๊ฒŒ๋„ ๋ฒŒ์จ ๊ฒฝ๋ ฅ 4๋…„์„ ๊ฝ‰ ์ฑ„์šด 5๋…„ ์ฐจ ์ง์žฅ์ธ์ด ๋˜์–ด ๋ฒ„๋ ธ๋‹ค. ์ด๋ž˜์ €๋ž˜ ํ•™๋ ฅ, ์ด์ง, ์ „์  ๊ธฐํƒ€ ๋“ฑ๋“ฑ์˜ ์ด์Šˆ๋กœ ๋Šฆ์€ ๋Œ€๋ฆฌ ์ง„๊ธ‰๋„ ํ–ˆ๋‹ค. ์ผ์ฐ ์‚ฌํšŒ์ƒํ™œ์„ ์‹œ์ž‘ํ•˜๋ฉฐ ๋งค๋ฒˆ ๋ง‰๋‚ด์˜€๋˜ ๋‚ด๊ฐ€ ๋ฒŒ์จ ํ›„์ž„๋„ ์žˆ๊ณ  ์ง„๊ธ‰๋„ ํ•˜๋‹ค๋‹ˆ... ์—ฌ์ „ํžˆ ์–ด์ƒ‰ํ•˜๊ณ  ๊ตณ์ด ์ง๊ธ‰์„ ๋‹ฌ๊ณ  ์‹ถ์ง€๋Š” ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ƒฅ ๋ง๋…„ ๋ง‰๋‚ด๋กœ ๊ท€์—ฌ์›€๋งŒ ๋ฐ›๊ณ  ์‹ถ์–ด์š”... ์˜ฌํ•ด๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ ์ด๋ž˜์ €๋ž˜ ์ธ์‚ฌ๊ณ ๊ณผ ๋ฉด๋‹ด์ด๋‚˜ ์—ฌ๋Ÿฌ ๋ฉด๋‹ด์ž๋ฆฌ๋ฅผ ๊ฐ€์ง€๋ฉด์„œ ์–ด๋ฅธ๋“ค์˜ ์‘์› ๊ทธ๋ฆฌ๊ณ  ๊ฒฉ๋ ค๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ๋ถ€๋‹ด๋„ ๋งŽ์ด ์ฃผ์…”์„œ ๊ทธ๋Ÿฐ์ง€ ์˜ฌํ•ด์˜ ์‹œ์ž‘์ด ๋ถ€๋‹ด์Šค๋Ÿฝ๊ธฐ๋งŒ ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ๊ธฐ๋Œ€๊ฐ์— ๋ถ€์‘ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ ˆ๋Œ€์ ์ธ ๊ฒฝ๋ ฅ์ฐจ๊ฐ€ ์žˆ์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ์—ฌ์ „ํžˆ ๋‚˜๋Š” ๋ถ€์กฑํ•˜๊ธฐ๋งŒ ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์ž˜ํ•˜๊ณ  ์‹ถ์ง€๋งŒ .. 2024. 1. 26.
Android API Level 33 ์—…๋ฐ์ดํŠธ ์ ์šฉ ์š”์ฆ˜ Google๋กœ๋ถ€ํ„ฐ ๋ฒ„์ „์ด๋‚˜ ์ •์ฑ… ๊ทธ๋ฆฌ๊ณ  ์„œ๋น„์Šค์˜ ์ข…๋ฃŒ์— ๋Œ€ํ•œ ๋งŽ์€ ๋‚ด์šฉ๋“ค์ด ์ „์†ก๋˜๊ณ  ์žˆ๋Š”๋ฐ์š”. ์š” ๊ทผ๋ž˜ ์ €์˜ ์—…๋ฌด๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ API ์—…๋ฐ์ดํŠธ ์ ์šฉ ๊ฑด์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ์–ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ ๊ฐœ๋ฐœ์ž์˜ ์ˆ™๋ช…์ด๋ผ๋ฉด ์ˆ™๋ช…์ธ ๋งค๋…„ ์ƒˆ๋กœ์šด ๋ฒ„์ „์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ๋Š”๋ฐ์š”. ์ž‘๋…„์˜ API Level 31 ์ ์šฉ ๊ฑด์— ์ด์–ด ์˜ฌํ•ด๋Š” API 33 ์ ์šฉ ๊ฑด์ด ๋ฒŒ์จ ๋„๋ž˜ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Google Play Store์—์„œ ์ •์ฑ… ์ƒํƒœ ๋ฉ”๋‰ด๋ฅผ ๋“ค์–ด๊ฐ€๋ฉด ํ˜„์žฌ ์ ์šฉ๋˜์ง€ ์•Š์€ ์•ฑ์— ๋Œ€ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋‚ด์šฉ๋“ค์ด ๋ณด์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ ์šฉ ๊ธฐํ•œ์€ 2023๋…„ 8์›” 31์ผ์ด ๊ธฐํ•œ์ž…๋‹ˆ๋‹ค๋งŒ, ๊ธฐํ•œ ์—ฐ์žฅ ์š”์ฒญ์„ ํ•˜์—ฌ 2023๋…„ 11์›” 1์ผ๊นŒ์ง€ ํ•ด๋‹น ๋‚ด์šฉ์„ ์ ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Version API LV Version Code Code Name Android .. 2023. 8. 22.
728x90
๋ฐ˜์‘ํ˜•