/Android-Best-Article

๐Ÿ“ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ด€๋ จ ์ฝ์–ด๋ณด๋ฉด ์ข‹์€ ์•„ํ‹ฐํด ์ €์žฅ์†Œ

Android Best Article

์•ˆ๋“œ๋กœ์ด๋“œ ๊ด€๋ จ ์•„ํ‹ฐํด ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

โœจPR์ด๋‚˜ ์ด์Šˆ๋กœ ์•„ํ‹ฐํด ์ถ”๊ฐ€๋ฅผ ์š”์ฒญํ•ด์ฃผ์„ธ์š”


์•„ํ‹ฐํด

Android-Fundamental - ZeroBrain๋‹˜

Android Animation 11% ๋” ํ™œ์šฉํ•˜๊ธฐ - SOUP๋‹˜

Dagger ์•„๋‹Œ Hilt๋กœ Android DI ํ•˜๊ธฐ - ์ด์Šน๋ฏผ๋‹˜

RecyclerView์—์„œ ํ…์ŠคํŠธ ๋ ˆ์ด์•„์›ƒ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•˜๊ธฐ

Functors, Applicatives, Monad๋ฅผ ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ์•Œ์•„๋ณด๊ธฐ - ์ด 3๋ถ€์ž‘ - Lazysoul๋‹˜

๋ชจ๋‚˜๋“œ์™€ ํ•จ์ˆ˜ํ˜• ์•„ํ‚คํ…์ฒ˜ - ๊น€์„ฑ์ฒ ๋‹˜

LiveData Unit ํ…Œ์ŠคํŠธ ๋ฐ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ(์˜๋ฌธ) - Jose Alcerreca๋‹˜

android spans a powerful concept - asamaru๋‹˜

The "Real" Repository Pattern in Android - Denis Brandi๋‹˜

Canvas save()์™€ restore() - ์‹ฌ์‹ฌ์žฌ๋‹˜

path์˜ cubicto๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฒ ์ง€์–ด ์ปค๋ธŒ ๊ทธ๋ฆฌ๊ธฐ - chanson๋‹˜

ConstraintLayout์˜ ์„ฑ๋Šฅ ์ด์ ์— ๋Œ€ํ•œ ์ดํ•ด - IT ๊ผฌ๋งน์ด๋‹˜

Android ์•ฑ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” - ๋„ค์ด๋ฒ„ D2 ๋ฐ•์„ฑํ˜„๋‹˜

์ฝ”๋“œ ๋ฆฌ๋ทฐ in ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ - ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ

์นด์นด์˜ค์Šคํ† ๋ฆฌ ํŒ€์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋„์ž… ์‚ฌ๋ก€ โ€“ ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ์–ด๋””๊นŒ์ง€ ํ•ด๋ดค๋‹ˆ? - ์นด์นด์˜ค์Šคํ† ๋ฆฌ

์ฝ”๋“œ๋ฆฌ๋ทฐ๊ฐ€ ์˜์•„์˜ฌ๋ฆฐ ์ž‘์€๊ณต - ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค

ํšจ๊ณผ์ ์ธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์œ„ํ•ด์„œ - LINE

Android ์–ด๋””๊นŒ์ง€ ์•„์„ธ์š” 1 : Build Process - MJ Studio๋‹˜

Android ์–ด๋””๊นŒ์ง€ ์•„์„ธ์š” 2-1 : background task, Service, Foreground Service - MJ Studio๋‹˜

Android ์–ด๋””๊นŒ์ง€ ์•„์„ธ์š” 2-2 : Bound Service, IPC - MJ Studio๋‹˜

์ฝ”๋ฃจํ‹ด๊ณผ ์Šค๋ ˆ๋“œ - aaronryu๋‹˜

์•Œ๊ธฐ ์‰ฌ์šด ์ฝ”๋ฃจํ‹ด ์ด๋ก  - cliearl๋‹˜

์ฝ”ํ‹€๋ฆฐ-์ฝ”๋ฃจํ‹ด-๊ฐœ๋…-์ตํžˆ๊ธฐ - wooooooak๋‹˜

Kotlin์„ ์œ„ํ•œ Coroutine ์ •๋ฆฌ - DevCho๋‹˜

Understanding Jetpack Compose โ€” part 1 of 2 - Leland Rechardson(Compose ๊ฐœ๋ฐœ์ž)

Understanding Jetpack Compose โ€” part 2 of 2 - Leland Rechardson

๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ํ•ด๋ถ€ํ•˜๊ธฐ - 1 - ilovecoffeee๋‹˜

๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ ํ•ด๋ถ€ํ•˜๊ธฐ - 2 - ilovecoffeee๋‹˜

Network ์‘๋‹ต ์ฒ˜๋ฆฌ, ์ด๋ ‡๊ฒŒ ํ•ด๋ณด๋Š”๊ฑด ์–ด๋–ค๊ฐ€์š”?: CallAdapter / Wrapper Class - pfct

ViewModel์ด ๊ตฌ์„ฑ๋ณ€๊ฒฝ์—๋„ ์ธ์Šคํ„ด์Šค๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ด์œ  - kenneth๋‹˜


์˜์ƒ ์ž๋ฃŒ

ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜์™€ ๋””์ž์ธ - Robert C. Martin

์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์˜ ์ค‘์š”์„ฑ - ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ(๋ฐ๋ธŒ์›์˜๋‹˜ ์œ ํŠœ๋ธŒ)

๋ฆฌํŒฉํ† ๋ง์˜ ์ค‘์š”์„ฑ - ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ(๋ฐ๋ธŒ์›์˜๋‹˜ ์œ ํŠœ๋ธŒ)

RecyclerView ins and outs - Google I/O 2016

lazy-and-amazy-lazy-layouts-in-compose - droidcon 2022

best-practices-for-saving-ui-state-on-android ๋ฒˆ์—ญ - google/io 2023


๊ฐœ์ธ ๋ธ”๋กœ๊ทธ

jake wharton๋‹˜์˜ ๋ธ”๋กœ๊ทธ

Pluu๋‹˜์˜ ๋ธ”๋กœ๊ทธ

์ด์šฐ์ถ˜๋‹˜์˜ ๋ธ”๋กœ๊ทธ

TedPark๋‹˜์˜ ๋ฏธ๋””์—„ ๋ธ”๋กœ๊ทธ

Charlezz๋‹˜์˜ ๋ธ”๋กœ๊ทธ

PhotoView ์ œ์ž‘์ž๋กœ ์œ ๋ช…ํ•œ Chris Banes๋‹˜์˜ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ

Jorge Castillo์˜ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ

๊ถŒํƒœํ™˜๋‹˜์˜ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ

์†Œ๋‹ค๋‹˜์˜ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ

Chang W.doh๋‹˜์˜ ๋ธ”๋กœ๊ทธ - ์•ˆ๋“œ๋กœ์ด๋“œ์™€ ์ฝ”ํ‹€๋ฆฐ์— ๊ด€๋ จ๋œ ๊ธ€ ๋ชจ์Œ

nanamare๋‹˜์˜ ๋ธ”๋กœ๊ทธ


๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

Dagger Hilt๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ DI ์‹œ์ž‘ํ•˜๊ธฐ - ํ•˜์ดํผ์ปค๋„ฅํŠธ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•ด์•ผ ํ• ๊นŒ? - BankSalad ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

๋ฉ”๋‰ด ๊ฒ€์ƒ‰๊ณผ ํ€™๋ฉ”๋‰ด ๊ฐœ๋ฐœ๊ธฐ - ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜์™€ ํ•จ๊ป˜ํ•˜๋Š” ๋ฐฐ๋ฏผ์•ฑ - ์šฐ์•„ํ•œ ํ˜•์ œ๋“ค ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

ViewPager2 ํŒŒํ—ค์น˜๊ธฐ - ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

MVVM Anti Pattern - ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

TDDDDD ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๊ฐ€๋Šฅํ• ๊นŒ? - ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

Android GIF ์ธ์ฝ”๋” ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ - ๋„ค์ด๋ฒ„ D2 ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

Android ํ”„๋กœ์„ธ์Šค์˜ ํ†ต์‹  ๋ฉ”์ปค๋‹ˆ์ฆ˜: ๋ฐ”์ธ๋” - ๋„ค์ด๋ฒ„ D2 ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

์•ˆ๋“œ๋กœ์ด๋“œ ๋Ÿฐ์ฒ˜์™€ ์œ„์ ฏ ํ†บ์•„๋ณด๊ธฐ(1) - ํ™ˆ ํ™”๋ฉด๋„ ์•ฑ์ด์—ˆ๋‹ค? - TOAST ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

์•ˆ๋“œ๋กœ์ด๋“œ ๋Ÿฐ์ฒ˜์™€ ์œ„์ ฏ ํ†บ์•„๋ณด๊ธฐ(2) - ์„ค์น˜๋œ ์•ฑ๋“ค์€ ์–ด๋””์—? - TOAST ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

Android Unit Testing Framework - Robolectric - TOAST ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ