Now in Android #110

noneยท2024๋…„ 10์›” 21์ผ
0

[๋ฒˆ์—ญ] Now in Android

๋ชฉ๋ก ๋ณด๊ธฐ
75/85
post-thumbnail

Now in Android 110์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋‚ด์šฉ์ด ์ƒˆ๋กญ๊ณ  ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๋‚ด์šฉ์ธ์ง€ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ์• ํ”ผ์†Œ๋“œ์—์„œ๋Š” Android 15 ๊ณต๊ฐœ์™€ iOS์˜ RCS ์ง€์›, Pixel Hardware Event, ์ตœ์‹  #AndroidShow, Android Studio Koala ๊ธฐ๋Šฅ, ์ ์‘ํ˜• Compose ๋ ˆ์ด์•„์›ƒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์•ˆ๋“œ๋กœ์ด๋“œ ํ…Œ๋ธ”๋ฆฟ์—์„œ Desktop Windowing, #WeArePlay์˜ ์žฌ๋ฐŒ๋Š” ์ด์•ผ๊ธฐ์™€ AndroidX์˜ ๋งŽ์€ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.



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




Android 15 is in AOSP ๐Ÿ’ฅ

9์›” ์ดˆ Android15๊ฐ€ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”ฝ์…€ ๊ธฐ๊ธฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Samsung, Honor, iQOO, Lenovo, Motorola, Nothing, OnePlus, Oppo, realme, Sharp, Sony, Tecno, vivo, Xiaomi์˜ ๊ธฐ๊ธฐ์—์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ง€์› ๊ธฐ๊ธฐ๋ฅผ ๋”์šฑ ๋„“ํž ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

Android15์—์„œ๋Š” Private space์™€ passkey๋ฅผ ํ†ตํ•ด ๊ฐœ์ธ ์ •๋ณด์™€ ๋ณด์•ˆ์„ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์นด๋ฉ”๋ผ์™€ ๋ฏธ๋””์–ด๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ์œ„ํ•ด ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์™€ Jetpack Compose, Jetpack library์˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

A new era for texting ๐Ÿฅณ

์•ˆ๋“œ๋กœ์ด๋“œ์™€ ์• ํ”Œ ๊ธฐ๊ธฐ์˜ ํ…์ŠคํŠธ ๊ธฐ๋Šฅ์ด ์ „๋ฐ˜์ ์œผ๋กœ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ์˜ Rich Chat Service(RCS) ์ ์šฉ์œผ๋กœ ๋ฉ”์‹œ์ง€์˜ ๋ฐ˜์‘์„ ํ•˜๋ฉฐ ๊ณ ํ•ด์ƒ๋„ ์‚ฌ์ง„๊ณผ ๋น„๋””์˜ค, ๊ทธ๋ฃน ์ฑ„ํŒ…์—์„œ ์‚ฌ๋žŒ๋“ค์„ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ ๋“ฑ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋งํฌ๋ฅผ ํ†ตํ•ด ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.




Android Developers blog ๐Ÿ“

Pixel Hardware Event ๐Ÿ“ฒ

8์›” 13์ผ Made By Google ์•„ํ™‰๋ฒˆ ์งธ ํ–‰์‚ฌ๋กœ ํ”ฝ์…€ 9๊ธฐ๊ธฐ์— ์ƒˆ๋กœ์šด AI Gemini๋ฅผ ์ ์šฉํ•œ ์‹ ์ œํ’ˆ์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. Gemini๋ฅผ ์ด์šฉํ•œ ์ฒซ ๋ฒˆ์งธ ๊ธฐ๊ธฐ์ด๋ฉฐ ๋‹ค์Œ ์„ธ๋Œ€์˜ ๊ธฐ๊ธฐ์— ํฐ ์—ญํ• ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Gemini Live ๊ธฐ๋Šฅ์„ ํ†ตํ•ด Gemini์™€ ์ž์œ ๋กœ์šด ์Œ์„ฑ ๋Œ€ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"์šฐ๋ฆฌ๋Š” AI๊ฐ€ ๋งค์ผ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋” ์ƒ์‚ฐ์ ์ด๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค." ๋ผ๊ณ  Platforms & Devices SVP์˜ Rick Osterloh๊ฐ€ ๋งํ–ˆ๋‹ค. "Google AI๊ฐ€ ์‚ฌ๋žŒ๊ณผ Gemini์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”ฝ์…€ ํ•ธ๋“œํฐ์— ์ ์šฉ๋˜๋Š” ๊ฒƒ์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค."

Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ๊ณต๊ฐœ๋˜์ง€ ์•Š์€ Pixel Watch3์—์„œ 2๊ฐ€์ง€์˜ ํฌ๊ธฐ๋ฅผ ์„ ๋ณด์ผ ๊ฒƒ์ด๋ฉฐ sung-fitting๊ณผ AI๊ฐ€ ์ ์šฉ๋œ Pixel Buds Pro2๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

Android is reimaging your phone with Gemini




Android Studio Koala Feature Drop ๐Ÿจ

์ตœ์‹  Android Studio Koala์—์„œ๋Š” Android Device ์ŠคํŠธ๋ฆฌ๋ฐ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๊ธฐ๊ธฐ๋ฅผ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Glance์œ„์ ฏ๊ณผ ๊ด€๋ จ๋œ Compose preview, USB ์ผ€์ด๋ธ” ์†๋„ ๊ฐ์ง€, Android SDK์˜ Android 15, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ start-up ์‹œ๊ฐ„์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก UI ๋””๋ฒ„๊น…๊ณผ profiler ๋„๊ตฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

#WeArePlay

์ตœ์‹  #WeArePlay ์—ํ”ผ์†Œ๋“œ์—์„œ๋Š” ๋ธŒ๋ผ์งˆ ๋ฆฌ์šฐ๋ฐ์ž๋„ค์ด๋ฃจ์˜ Robson์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. Estante Magica์˜ ๊ณต๋™ ์ฐฝ์—…์ž์ด๋ฉฐ ์•„์ด๋“ค์ด ์ž‘๊ฐ€๊ฐ€ ๋˜์–ด ์ด์•ผ๊ธฐ๋ฅผ ๊ณต์œ ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

Robson์€ favela๋ผ๋Š” ๊ณณ์—์„œ ์ž๋ž์œผ๋ฉฐ ์•„์ด๋“ค์ด ์ฑ…์„ ์ฝ๊ณ  ์“ฐ๋Š” ๋Šฅ๋ ฅ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ๋„๋ก ๊ต์œก ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋งํฌ๋ฅผ ํ†ตํ•ด ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

Google Maps adopts User Initiated Data Transfer ๐Ÿ—บ๏ธ

์•ˆ๋“œ๋กœ์ด๋“œ 14์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์„ ํ–ˆ์„ ๋•Œ foreground service์™€ WorkManager์—์„œ ๊ธด ์‹œ๊ฐ„ ๋™์•ˆ ์ž‘์—…ํ•˜๋Š” User Initiate Data Transfer๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. JobScheduler์—์„œ ์ƒˆ๋กœ์šด setUserInitiated API๋Š” ์žฌ์‹คํ–‰๊ณผ ์ œ์•ฝ์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

Google Map ์ ์šฉ์œผ๋กœ ์˜คํ”„๋ผ์ธ ๋‹ค์šด๋กœ๋“œ ์‹คํŒจ์œจ์„ 10% ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

"์šฐ๋ฆฌ๋Š” UIDT๋ฅผ 2024๋…„ ์ดˆ์— Android 14์— ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐฐํฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. foreground ์„œ๋น„์Šค ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Android 14์™€ Android 13 ๊ตฌํ˜„์— ๋Œ€ํ•œ ์—ญ์ถ”์  ๋ถ„์„ ๊ฒฐ๊ณผ ๋‹ค์šด๋กœ๋“œ ์‹คํŒจ์œจ์„ 10%์˜ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค!" Google์˜ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด Matthew Valgenti๊ฐ€ ๋งํ–ˆ๋‹ค.




Introducing Spotlight Weeks โœจ

Spotlight Week๋ผ๋Š” ์ƒˆ๋กœ์šด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๋ฆฌ์ฆˆ์—์„œ๋Š” ํ•œ ์ฃผ ๋™์•ˆ ํ•˜๋‚˜์˜ ์ฃผ์ œ๋ฅผ ์ž์„ธํžˆ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์˜์ƒ๊ณผ ๋ฌธ์„œ, ๊ฐœ๋ฐœ์ž์˜ ์ด์•ผ๊ธฐ๊ฐ€ ํฌํ•จ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์‹œ๋ฆฌ์ฆˆ์˜ ์—ํ”ผ์†Œ๋“œ๋Š” Ash๊ฐ€ Android 15 ์ตœ์‹  ๋‚ด์šฉ๊ณผ foreground service, passkey๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Spotlight Week์—์„œ Android AI ์†Œ์‹๊ณผ ๊ธฐ์ˆ ์„ ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑํ˜• AI์™€ Gemini Nano, ์•ˆ๋“œ๋กœ์ด๋“œ๋กœ ๋ชจ๋ธ์„ ๊ฐ€์ง€๊ณ  ์˜ค๋Š” ๋ฐฉ๋ฒ•, ํด๋ผ์šฐ๋“œ ๋ชจ๋ธ ๋“ฑ์˜ ๋งŽ์€ ๋‚ด์šฉ์„ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Edge-to-edge inset tips ๐Ÿ“

Ash๋Š” ๋ฏธ๋””์›€ ๋ธ”๋กœ๊ทธ์— Android Edge-to-Edge ๊ฐœ์„ ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํŒ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

inset์˜ ์ •์˜์™€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์—์„œ ์ค‘์š”์„ฑ์„ ๊ฐ€์ง€๋Š” ์ด์œ ๋ฅผ ๋งํ•ด์ค๋‹ˆ๋‹ค. Compose์™€ view์—์„œ inset ์‚ฌ์šฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. material component๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฒ•๊ณผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ edge-to-edge๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฒ•, UI์˜ ์ค‘์š”์„ฑ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ด ๋‚ด์šฉ์„ ํ†ตํ•ด ์ ‘๊ทผ์„ฑ ์ธก๋ฉด์—์„œ UI์˜ ์ค‘์š”์„ฑ์„ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Edge-to-edgeTesting ๐Ÿ“

Android 15์—์„œ edge-to-edge๊ฐ€ ๊ฐ•์ œ ์ ์šฉ๋จ์— ๋”ฐ๋ผ, ํ…Œ์ŠคํŠธ๊ฐ€ ๋”์šฑ ์ค‘์š”ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. Meghan์€ ์ž๋™ํ™” ํ…Œ์ŠคํŠธ ์ „๋žต์— ๋Œ€ํ•œ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ผ์Šต๋‹ˆ๋‹ค. Android 15์—์„œ edge-to-edge๊ฐ€ ๋”์šฑ ์ค‘์š”ํ•ด์งˆ ๊ฒƒ์ด๋ฉฐ Compose preview๋ฅผ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฌ์šด edge-to-edge ๋ ˆ์ด์•„์›ƒ ์ ์šฉ์„ ๋„์™€์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Compose preview์—์„œ๋Š” ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉฐ showSystemUI ๊ฐœ์„ , ๊ตฌ์ฒด์ ์ธ ๊ธฐ๊ธฐ ํ…Œ์ŠคํŠธ, ๋‹ค์–‘ํ•œ cutout ์ง€์›์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Talkback adopts Gemini Nano ๐Ÿฆœ

๋˜ ๋‹ค๋ฅธ Spotlight Week ์• ํ”ผ์†Œ๋“œ์—์„œ๋Š” Terence๊ฐ€ ์•ˆ๋“œ๋กœ์ด๋“œ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์ธ Talkback์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

talkback ํŒ€์€ ์ตœ๊ทผ์— ์ด๋ฏธ์ง€ ์„ค๋ช… ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Gemini Nano ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ๋ฆฌํ‹ฐ ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ด๋ฏธ์ง€ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด์ „์˜ Garcon์ด๋ผ๋Š” ์ž‘์€ ML ๋ชจ๋ธ๊ณผ ๋น„๊ต๋ฉ๋‹ˆ๋‹ค.

Gemini Nano๋Š” Talkback์„ ํ†ตํ•ด ๊ธฐ์กด ์ด๋ฏธ์ง€๋ฅผ ํ…์ŠคํŠธ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Garcon์ด ํ˜ธ์ฃผ ์‹œ๋“œ๋‹ˆ์˜ ๋ฐค์„ ํŒŒ๋…ธ๋ผ๋งˆ๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค. "์‹œ๋“œ๋‹ˆ ์˜คํŽ˜๋ผ ํ•˜์šฐ์Šค์˜ ํŒŒ๋…ธ๋ผ๋งˆ์™€ ์‹œ๋“œ๋‹ˆ์˜ ๋ถ์ชฝ์˜ ์‹œ๋“œ๋‹ˆ ํ•˜๋ฒ„ ๋ธŒ๋ฆฟ์ง€."

Type safe navigation for Compose ๐Ÿงญ

Jetpack Navigation 2.8.0์€ 9์›”์— ์ตœ์‹  ์•ˆ์ •ํ™” ๋ฒ„์ „์œผ๋กœ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค. Don์€ ์•ˆ์ „ํ•œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์†Œ๊ฐœ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธ€์—์„œ๋Š” serializable ํƒ€์ž…๊ณผ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— ์•ˆ์ „ํ•˜๊ฒŒ ํ™”๋ฉด ์ด๋™ํ•˜๋Š” ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค. ๋‚ด๋น„๊ฒŒ์ด์…˜์—์„œ destination๊ณผ argument๋ฅผ ํ†ตํ•ด ๋” ๊ฐ„๋‹จํ•˜๊ณ  ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‚ด๋น„๊ฒŒ์ด์…˜ ์ƒํ™ฉ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

Compose TV stable release ๐Ÿ“บ

8์›”์— Compose TV๊ฐ€ 1.0.0์œผ๋กœ ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. alpha๋ฒ„์ „์—์„œ ์•ˆ์ •ํ™”๋œ ๋ฒ„์ „์œผ๋กœ ๋ฐ”๋€Œ๋ฉด์„œ TvLazyColumn์ด LazyColumn์œผ๋กœ ์ด๋ฆ„์ด ๋ฐ”๋€Œ๊ณ  ๋ช‡๋ช‡ API ์ˆ˜์ •๊ณผ ์‚ญ์ œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Paul์€ ์ด ๋ธ”๋กœ๊ทธ ๊ธ€์„ ํ†ตํ•ด alpha๋ฒ„์ „์—์„œ ์•ˆ์ •ํ™”๋œ ๋ฒ„์ „์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

One Credential Manager to rule them all ๐Ÿ’

์ด์ „์— ์•ˆ๋“œ๋กœ์ด๋“œ๋Š” "Smart Lock"๊ณผ "Google Sign-In"์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋ฅผ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๋ฐ”๋€Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Credential Manager๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๋กœ๊ทธ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ passkey์™€ ๊ฐ™์€ ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ, ์ผ๋ฐ˜์ ์ธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ”๋€ ์ด์œ ๊ฐ€ ๋ญ˜๊นŒ์š”? Credential Manager๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ์‰ฝ๊ณ  ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ„๋‹จํ•œ ์ž‘์—…์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Diego Zavala์™€ Jason Lucibello๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ์— ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

X์™€ Pinterest ํšŒ์‚ฌ๋Š” ์ด๋ฏธ Creadential Manager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธ์ •์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์˜€๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Adaptive layouts building made easy ๐Ÿ“‚

5์›” 2024 I/O์—์„œ Compose Adaptive ๋ฒ ํƒ€ ๋ฒ„์ „ API๋ฅผ ๊ณต๊ฐœํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด API๋Š” ์ ์‘ํ˜• ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๋” ์‰ฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •ํ™”๋œ ๋ฒ„์ „์—์„œ๋Š” Material ๊ฐ€์ด๋“œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋„๋ก ๊ณต๊ฐœ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

Alex๋Š” ๋‹ค์–‘ํ•œ API์— ๋Œ€ํ•ด ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ผ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ํ™”๋ฉด๊ณผ ๊ธฐ๊ธฐ ์ƒํƒœ์— ๋”ฐ๋ผ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ ˆ์ด์•„์›ƒ์ด ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

Desktop windowing goodness ๐Ÿ–ฅ๏ธ

Francesco๋Š” Fahd์™€ ํ•จ๊ป˜ ์•ˆ๋“œ๋กœ์ด๋“œ ํƒœ๋ธ”๋ฆฟ์—์„œ ๋ฐ์Šคํฌํ†ฑ ํ™”๋ฉด preview๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๋ณ€ํ™”ํ•˜๋Š” window ํฌ๊ธฐ์— ๋Œ€์‘ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.




Android Developers Backstage๐ŸŽ™๏ธ

Android Developer Backstage์˜ ์—ํ”ผ์†Œ๋“œ 209์—์„œ๋Š” Jecpack Compose ํŒ€์˜ Doris Liu๊ฐ€ Compose ์• ๋‹ˆ๋ฉ”์ด์…˜ API์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ API ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํƒ๊ตฌํ•˜๋ฉฐ ๊ธฐ์กด์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์Šคํ…œ ๋น„๊ตํ•˜์—ฌ ์žฅ์ ๋“ค์„ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

ํŒŸ ์บ์ŠคํŠธ์™€ ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.





Videos๐Ÿ’ก

์ด๋ฒˆ ์—ฌ๋ฆ„์—๋Š” #TheAndroidShow์˜ Made by Google ํ–‰์‚ฌ์—์„œ ๋ชจ๋“  ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ผ๋Š” ์ฃผ์ œ๋กœ ํ•œ ๋ฐœํ‘œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.



Rebecca์™€ Simona๋Š” edge-to-edge์™€ inset ๊ตฌํ˜„๊ณผ Dynamic UI๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ nested scrolling, ์ œ์Šค์ฒ˜๋กœ ๊ทธ๋ ค์ง€๋Š” pager trick ์„œ๋กœ ๋‹ค๋ฅธ gradient brushe์™€ ๋ณต์žกํ•œ ๊ทธ๋ž˜ํ”ฝ shader ๋“ฑ์˜ ๋‚ด์šฉ์„ ์˜์ƒ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



Sandhya๋Š” Android Studio์˜ ์ตœ์‹  ๋ฒ„์ „ ๊ณต๊ฐœ์—์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ๊ฐœ์„ ๋œ ์‚ฌํ•ญ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.



Rebecca๋Š” Jecpack Compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง ๊ฐœ์„ ์„ ์œ„ํ•ด shader ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.



#WeArePlay์—๋Š” ์•„์ด๋“ค์ด ๊ธ€์“ฐ๊ธฐ ๋Šฅ๋ ฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“  Robson์€ ๊ฐœ์ธ์ ์ธ ์—ฌ์ •๊ณผ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์˜๊ฐ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.



Ash๋Š” "Spotlight Weeks"์—์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ์ˆ ์— ๊นŠ์ด ์•Œ ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์˜์ƒ์œผ๋กœ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ฃผ์ œ๋Š” Android 15์ž…๋‹ˆ๋‹ค.



Danial๊ณผ Ash๋Š” Google I/O์—์„œ ์•ˆ๋“œ๋กœ์ด๋“œ 15์˜ ์ƒˆ๋กœ์šด ๋‚ด์šฉ๊ณผ ๋Œ€๋น„ ์‚ฌํ•ญ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.



#AskAndroid ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ์งˆ๋ฌธ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Android 15 ์ฃผ์ œ๋กœ ๋ผ์ด๋ธŒ ์ฑ„ํŒ…์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.



Aditya์™€ Laura๋Š” SAP์ด๋ผ๋Š” ํšŒ์‚ฌ์—์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ๋ฆฌ๋”์™€ UX ๋””์ž์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ "SAP Mobile Start"์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํฐ ํ™”๋ฉด๊ณผ ํด๋”๋ธ” ํ™”๋ฉด์— ๋งž๊ฒŒ ๊ตฌํ˜„ํ•œ ์ ์‘ํ˜• ๋ ˆ์ด์•„์›ƒ์„ 5๋ถ„๊ฐ„ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.



Clara๋Š” ์ƒˆ๋กญ๊ณ  ์•ˆ์ „ํ•œ Jecpack Compose Navigation 2.8.0์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ ํƒ€์ž„์—์„œ ์•ˆ์ •์„ฑ ๊ฐœ์„ ๊ณผ Kotlin DSL์„ ์ด์šฉํ•œ navigation์˜ ๋ณต์žก๋„๋ฅผ ์ค„์ธ ๋‚ด์šฉ์„ ์˜์ƒ์— ๋‹ด์•˜์Šต๋‹ˆ๋‹ค.



Rebecca๋Š” flexible๊ณผ ๋ฐ˜์‘ํ˜• UI๋ฅผ ๋นŒ๋“œํ•˜์—ฌ Jecpack Compose์—์„œ flow ๋ ˆ์ด์•„์›ƒ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.





AndroidX Releases ๐Ÿš€

์—ฌ๊ธฐ ๋งŽ์€ AndroidX ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋ฐ์ดํŠธ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Wear Compose 1.4.0: ScalingLazyColumn๊ณผ Picker๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํšŒ์ „ ์ด๋ฒคํŠธ๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด Modifier.rotaryScrollable์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ SwipeDismissableNavHost์™€ PositionIndicator ํ™”๋ฉด ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์œ„ํ•œ entry ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

Health Connect 1.0.0-alpha01: ๊ฑด๊ฐ• ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์“ฐ๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ jetpack ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ํ…Œ์ŠคํŠธ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Compose UI 1.7.0: ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ์œ„ํ•œ Lazy ๋ฆฌ์ŠคํŠธ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋”์šฑ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ์„ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ํฌ๋งท ๊ฐœ์„ ๊ณผ Kotlin repository์— Compose ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ˜ธ์ŠคํŒ… ๋˜๋„๋ก ๊ฐœ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป๊ณ  ์‹ถ๋‹ค๋ฉด Ben Trengrove๊ฐ€ ์ž‘์„ฑํ•œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

Compose Runtime 1.7.0: ์ดˆ๊ธฐ ์ƒํƒœ ๊ณ„์‚ฐ๊ณผ ์ ‘๊ทผ์„ฑ๊ณผ ์ปดํฌ์ €๋ธ” ํ•จ์ˆ˜ ์ƒ์„ฑ ์ตœ์ ํ™”, ๋žŒ๋‹ค์™€ ์ฝœ๋ฐฑ ์ˆœ์„œ ๊ฐœ์„  ์ž‘์—…์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Compose Material 3 Adaptive 1.0.0: ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ ํ™”๋ฉด์„ ์œ„ํ•ด ์•ˆ๋“œ๋กœ์ด๋“œ ์ ์‘ํ˜• UI ๋นŒ๋“œ ๋„๊ตฌ์™€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Compose Material 1.7.0: BottomDrawer์™€ ModalBottomSheet, BackdropScaffold ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ripple APIs, MutableInteractionSource ์‚ฌ์šฉ์ด ์ตœ์ ํ™”๋˜์–ด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Compose Foundation 1.7.0: modifiers ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ํšจ์œจ์„ฑ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด Indication API, ์ปดํฌ๋„ŒํŠธ์˜ ํด๋ฆญ ์ด๋ฒคํŠธ, ํ…์ŠคํŠธ์™€ ๋ ˆ์ด์•„์›ƒ, ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Compose Animation 1.7.0: ๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์œ„ํ•œ transition API์™€ ์ •๋ ฌ ์ˆ˜์ •๊ณผ deferred target ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ๊ฐ™์€ ๊ธฐ์กด API ๊ฐœ์„ , AnimatedVisibilityScope์™€ LookaheadScope๋ฅผ ํฌํ•จํ•œ ๋ช‡๋ช‡ API ์•ˆ์ •ํ™” ์ž‘์—…์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Collection 1.4.3: ScatterMap๊ณผ ScatterSet์˜ ์„ฑ๋Šฅ ๊ฐœ์„ ๊ณผ ํ•ด๋‹น ์ปฌ๋ž™์…˜์˜ ๋ฐ์ดํ„ฐ ์†์ƒ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

Camera 1.5.0-alpha01: ๋“€์–ผ ์นด๋ฉ”๋ผ ์˜์ƒ ์„ค์ •์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด API์™€ ๋…น์Œ ์ œ์–ด, ํฌ๋ž˜์‹œ์™€ ๊ฒ€์ • ํ™”๋ฉด ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Media3 1.4.1: ๋น„๋™๊ธฐ ์ฝœ๋ฐฑ ์ œ์–ด์™€ ๋กœ๋”ฉ ์‹คํŒจ์—๋„ ์žฌ์ƒ ํ—ˆ์šฉ, MP3์™€ TTML ์ œ์–ด ์˜ค๋ฅ˜ ์ˆ˜์ •, API 31+ ๊ธฐ๊ธฐ์—์„œ DRM ๊ฐœ์„ , ๋ฏธ๋””์–ด ์ œ์–ด์™€ ์„ธ์…˜ ๊ด€๋ฆฌ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€