///////
Search

8์ฃผ์ฐจ ํšŒ๊ณ (6/23 - 6/29)

ย ์ด๋ฒˆ ์ฃผ ๋ชฉํ‘œย 

โ€ข
[ V ] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ผ์ฃผ์ผ 3๋ฌธ์ œ
โ€ข
[ย Vย ] ์ด๋ฒˆ ์ฃผ ๊ฐ•์˜ ์ •๋ฆฌํ•˜์—ฌ ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ
โ€ข
[ V ] ๊ฐ•์˜ ์ •๋ฆฌ ๋ฐ€๋ฆฐ ๊ฒƒ ๋ณต๊ตฌํ•˜๊ธฐ

ย Liked(์ข‹์•˜๋˜ ์ )

๋ชจ๋ฅด๋˜ ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ๊ธฐ๋Šฅ๋“ค

โ€ข
ํ•™๊ต์—์„œ๋Š” ๊ธฐ๋ณธ ์ค‘์— ๊ธฐ๋ณธ๋งŒ ๋ฐฐ์›Œ์„œ ๊ทธ ๋™์•ˆ ๋ชฐ๋ž๋˜ ๊ธฐ๋Šฅ์ด ๊ณ„์† ๋‚˜์˜ค๊ณ  ์žˆ๋‹ค.
โ€ข
๋‹ค๋ฅธ ์•ฑ ์‹คํ–‰, SnackBar, Notification, RunOnUiThread, BoradCastReceiver, Service, AppBarLayout ๋“ฑ ๋‹ค ์ฒ˜์Œ๋ณด๋Š” ๊ธฐ๋Šฅ์ด์—ˆ๋‹ค. ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ข€ ๋ณต์žกํ•ด์„œ ๊ฐ•์˜๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ๋Š” ์ข€ ๊ฑธ๋ ธ์ง€๋งŒ ๊ทธ๋ž˜๋„ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ๋ฐฐ์›Œ์„œ ์‹ ๊ธฐํ•˜๊ณ  ๋ฟŒ๋“ฏํ–ˆ๋‹ค.

๊ฐ•์˜ ์ •๋ฆฌ ๋ฐ€๋ฆฐ ๊ฒƒ ๋ณต๊ตฌ

โ€ข
์ฃผ๋ง์— ์•ฝ์†์ด ์žกํžˆ๋ฉด์„œ ๊ฐ•์˜ ์ •๋ฆฌ๊ฐ€ ๋ฐ€๋ฆด ์ค„ ์•Œ์•˜๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ง„๋„๋ฅผ ์ฒœ์ฒœํžˆ ๋‚˜๊ฐ€์„œ ๋งŽ์ด ๋ฐ€๋ฆฌ์ง€ ์•Š์•˜๋‹ค.
โ€ข
์–ด์ฐŒ์ €์ฐŒ ๊ฐ•์˜ ์†๋„์™€ ๋งž์ถฐ์„œ ์ •๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋„ ํœด๊ฐ•์ด 2์ผ์ด๋‚˜ ๋ผ์„œ ๊ธˆ๋ฐฉ ์ •๋ฆฌํ•  ๊ฒƒ ๊ฐ™๋‹ค.

์ด๋ ฅ์„œ ์ฒจ์‚ญ

โ€ข
๊ฐœ๋ฐœ๊ณผ ๊ด€๋ จ๋˜์ง€ ์•Š์€ ์‚ฌ๋žŒ๋“ค(๊ณ ๋“ฑํ•™๊ต ์นœ๊ตฌ๋‚˜ ์ทจ์—… ์ƒ๋‹ด ์„ ์ƒ๋‹˜)์—๊ฒŒ๋งŒ ๋ฐ›์•„๋ณด๋‹ค๊ฐ€ ํ˜„์—…์—์„œ ์ผํ•˜์‹œ๋Š” ๊ฐœ๋ฐœ์ž ๋ถ„์—๊ฒŒ ์ฒ˜์Œ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.
โ€ข
์ด๋ ฅ์„œ, ์ž๊ธฐ์†Œ๊ฐœ์„œ๋ฅผ ํ”ผ๋“œ๋ฐฑ ๋ฐ›์œผ๋ฉด ๊ณ ์ณ์•ผํ•  ๋ถ€๋ถ„์ด ํ•ญ์ƒ ๋งŽ์•„์„œ ์ด๋ฒˆ์—๋„ ๊ฑฑ์ •ํ–ˆ์—ˆ๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์ด ์ง€์ ์„ ๋‹นํ•˜์ง€๋Š” ์•Š์•˜๋‹ค. ๋ฌผ๋ก  ์ดˆ๋ฐ˜์ด๋ผ ๊ทธ๋Ÿด์ˆ˜๋„ ์žˆ์ง€๋งŒ...
โ€ข
ํŠนํžˆ๋‚˜ ์ž์‹  ์—†๋˜ ์ž์†Œ์„œ ๋ถ€๋ถ„์„ ํ†ต๊ณผํ•ด์„œ ๊ทธ๋ž˜๋„ ๋งŒ์กฑ์Šค๋Ÿฝ๋‹ค. ๊ณ ์ณ์•ผํ•  ๊ฒƒ์€ ํฌํŠธํด๋ฆฌ์˜ค ์ž‘์„ฑ ๋ฐฉ์‹๊ณผ ๋‚ ์งœ(๋…„, ์›”๊นŒ์ง€ ์“ฐ๊ธฐ) ์ˆ˜์ • ์ •๋„

์˜ค๋žœ๋งŒ์˜ ์•ฝ์†

โ€ข
๋Œ€ํ•™ ๋™๊ธฐ๋“ค๊ณผ ์ž์ฃผ ๋งŒ๋‚˜๊ธด ํ•˜์ง€๋งŒ ๋ชจ์—ฌ์„œ ์ˆ ๋„ ๋งˆ์‹œ๊ณ  ์ง‘๋“ค์ด๋„ ๊ฐ€๊ฒŒ ๋ผ์„œ ๊ธฐ๋ถ„ ์ „ํ™˜์ด ๋˜์—ˆ๋‹ค.
โ€ข
๋‚ด๊ฐ€ ์‚ด๋˜ ๋™๋„ค์—์„œ ๋ฒ—์–ด๋‚˜๋‹ˆ ์ƒˆ๋กœ์šด ๋А๋‚Œ๋„ ๋“ค๊ณ , ์ทจ์—… ํ›„ ์ง‘ ๊ฑฑ์ •์ด ์ƒ๊ธฐ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค...

ย Lacked (์•„์‰ฌ์› ๋˜ ์ )

๊ฐ•์˜ ์ง€๊ฐ

โ€ข
๊ฐ•์˜๋ฅผ ๋“ค์€์ง€ ๋‘ ๋‹ฌ์ด ๋˜์–ด๊ฐ€๋Š”๋ฐ ์ตœ๊ทผ ๋“ค์–ด ์•Œ๋žŒ์„ ๋ชป ๋“ฃ๊ณ  ๊ณ„์† ์ž๋ฒ„๋ฆฐ๋‹ค... ์ž  ๊ท€๊ฐ€ ์–ด๋‘์›Œ์„œ ๊ทธ๋Ÿฐ๊ฐ€ ํ•ธ๋“œํฐ์ด ์กฐ๊ธˆ๋งŒ ๋ฉ€์–ด์ ธ๋„ ์•Œ๋žŒ์„ ๋ชป๋“ฃ๊ณ  ์ž”๋‹ค. ๊ฐ•์˜ ์‹œ๊ฐ„์— ๊ฐ€๋” ์กธ๊ธฐ๋„ ํ–ˆ์—ˆ๋Š”๋ฐ ๊ฒฐ๊ตญ์—” ์ž ์ด ๋ชธ์„ ์ง€๋ฐฐํ•ด๋ฒ„๋ ธ๋‹ค.
โ€ข
์ฃผ๋ง์— ์™ธ์ถœํ–ˆ๋˜ ํ”ผ๊ณคํ•จ์ด ๊ณ„์† ๋‚จ์•„์žˆ๋˜๊ฑด์ง€.. ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ ๋‚ด์šฉ์ด ์˜ค์ „ ์ˆ˜์—…์— ๋‚˜์™”์–ด์„œ ๊ทธ๋‚˜๋งˆ ๋‹คํ–‰์ด๋‹ค ์‹ถ์—ˆ๋‹ค. ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๊ธˆ๋ฐฉ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋˜ ๋‚ด์šฉ์ด์—ˆ๋‹ค. ์ฒ˜์Œ ๋“ฃ๋Š” ๋‚ด์šฉ์ธ๋ฐ ๊ฐ•์˜๋ฅผ ๋†“์ณค๋‹ค๋ฉด ํ•œ์ˆจ๋งŒ ์‰ฌ๊ณ  ์žˆ์„ ๋ป”ํ–ˆ๋‹ค. ์ดˆ์‹ฌ์œผ๋กœ ๋Œ์•„๊ฐ€์•ผ์ง€...

ย Learned (๋ฐฐ์šด ์ )

SnackBar

โ€ข
Toast์™€ ๋น„์Šทํ•˜๋ฉฐ Activity ์œ„์— ํ‘œ์‹œ๋˜๋ฉฐ ํ•˜๋‹จ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฉ”์‹œ์ง€
โ€ข
Toast ๋ณด๋‹ค๋Š” SnackBar๋ฅผ ๋งŽ์ด ์“ฐ๋Š” ์ถ”์„ธ์ด๋ฉฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋„ SnackBar๋ฅผ ๋” ๊ถŒ์žฅํ•œ๋‹ค.

Notification

โ€ข
์•ฑ๊ณผ ๋ณ„๋„๋กœ ๊ด€๋ฆฌ๋˜๋ฉฐ Notification ๋ฉ”์„ธ์ง€๋ฅผ OS์— ์ „๋‹ฌํ•˜๋ฉด OS๊ฐ€ ์•Œ๋ฆผ์ฐฝ ์˜์—ญ์— ๋„์›Œ์ค€๋‹ค.
โ€ข
ํ™”๋ฉด์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์‹คํ–‰ ๋‹จ์œ„์—์„œ ๋ฉ”์„ธ์ง€๋ฅผ ํ‘œ์‹œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋œ๋‹ค.
โ€ข
Notification์œผ๋กœ ์•ฑ์˜ Actvity๋ฅผ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ Pending Intent๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋„ ์ „๋‹ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

RunOnUiThread

โ€ข
Thread ์•ˆ์—์„œ ํ™”๋ฉด๊ณผ ๊ด€๋ จ๋œ ์ž‘์—…์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
โ€ข
Kotlin ๊ธฐ๋ฐ˜์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๊ฒฝ์šฐย runOnUiThread๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด๋†จ๊ธฐ ๋•Œ๋ฌธ์— runOnUiThraad๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

Borad Cast Receiver

โ€ข
์•ˆ๋“œ๋กœ์ด๋“œ OS์—์„œ ํŠน์ • ์ƒํ™ฉ์— ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„ ๋“ค์—ฌ ๋™์ž‘ํ•˜๋Š” ์‹คํ–‰ ๋‹จ์œ„
โ€ข
OS์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‚ฌ๊ฑด์˜ ์ด๋ฆ„์ด๋‚˜ ํŠน์ • ์ด๋ฆ„์„ ์ง์ ‘ ๋งŒ๋“ค์–ด ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

Service

โ€ข
Service๋Š” ํ™”๋ฉด์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋Š” ์‹คํ–‰ ๋‹จ์œ„๋กœ์จ Background processing ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
โ€ข
โ€ข
Foreground Service์™ธ์˜ ์„œ๋น„์Šค๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ OS์— ์˜ํ•ด ๋ชจ๋‘ ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Foreground Service์˜ ๋ชฉ์ ์€ Service๋ฅผ ํ†ตํ•ด Background์—์„œ ์ž‘์—… ์ค‘์ด๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆฌ๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

AppBarLayout

โ€ข
AppBar Layout์€ ToolBar์™€ ๋‹ค๋ฅธ View๋“ค์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” Layout์ด๋‹ค.
โ€ข
AppBar Layout์€ ๋ฐ˜๋“œ์‹œ CoordinatorLayout ์•ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
โ€ข
AppBar Layout๋Š” CoordinatorLayout ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ View๋“ค๊ณผ ์—ฐ๋™๋  ์ˆ˜ ์žˆ๋‹ค.

ย Longed for (์•ž์œผ๋กœ ๋ฐ”๋ผ๋Š” ์ )

FlO ํด๋ก  ์ฝ”๋”ฉ ์ˆ˜๊ฐ•

โ€ข
์ด๋ฒˆ ์ฃผ๋Š” ํœด๊ฐ•์ด 2์ผ์ด๋‚˜ ๋ผ์„œ ํ‰์ผ์— FLO ํด๋ก  ์ฝ”๋”ฉ ๊ฐ•์˜๋ฅผ ๋“ค์„ ๊ฒƒ์ด๋‹ค.
โ€ข
์ค‘๊ฐ„์— ํ•˜๋‹ค๊ฐ€ ๊ณ„์† ๋ฐ€๋ ค์„œ ์‹ ๊ฒฝ ์“ฐ์ธ๋‹ค. ๋นจ๋ฆฌ ๋๋‚ด๋ฒ„๋ฆฌ๊ณ  ์‹ถ๋‹ค...

์ด๋ ฅ์„œ / ํฌํŠธํด๋ฆฌ์˜ค ์ˆ˜์ •

โ€ข
๋งจ ์ฒ˜์Œ ์ด๋ ฅ์„œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ€๋…์„ฑ๋„ ์ข‹์•„์ง€๊ณ  ๋‚ด์šฉ๋„ ๋งŽ์ด ๋‹ค๋“ฌ์–ด์ง„ ๊ฒƒ ๊ฐ™๋‹ค.
โ€ข
์ผ๋‹จ ํฌํŠธํด๋ฆฌ์˜ค์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ถ€๋ถ„์„ ๋‹ค ์จ๋†“๊ณ  ์„ธ์„ธํ•œ๊ฑด Github Read me์— ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.