Slide 1

Slide 1 text

What’s New In Android Daejeon ߓ೙઱
 GDG Android Korea, ֎੉ߡઁ౟ veronikapj

Slide 2

Slide 2 text

Top News 3 + 1

Slide 3

Slide 3 text

Android Studio Bot Kotlin / Compose + 1 Form Factors

Slide 4

Slide 4 text

Android Studio Bot Kotlin / Compose ѐੋ੿ࠁ ࠁഐ ߂ ࠁউ Form Factors

Slide 5

Slide 5 text

ѐੋ੿ࠁ ࠁഐ ߂ ࠁউ

Slide 6

Slide 6 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/about/versions/14/changes/partial-photo-video-access?hl=ko ࢎ૓ & ز৔࢚ ੌࠗ(ࢶఖೠ Ѫ݅) ঘࣁझ ӂೠ ࠗৈ READ_MEDIA_VISUAL_USER_SELECTED ࢎ૓ ߂ ز৔࢚ ࢶఖ : Android14 ੄ ࢜۽਍ ӝמ ݽف ೲਊ : ੹୓ ӂೠ ೲਊ উೣ : ঘࣁझ Ѣࠗ

Slide 7

Slide 7 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/about/versions/14/behavior-changes-14?hl=ko ঐद੸ ੋబ౟ח ੉ઁ Ӓ݅ = ঈࢿ জ੉ জ੄ ղࠗ Componentীࢲ ࢎਊೡ ঐद੸ ੋబ౟ܳ о۽଻૑ ޅೞѱ ؾפ׮. val intent = Intent("com.example.app.PAY") startActivity(intent) Exception ߊࢤ

Slide 8

Slide 8 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/about/versions/14/behavior-changes-14?hl=ko ঐद੸ ੋబ౟ח ੉ઁ Ӓ݅ = ঈࢿ জ੉ জ੄ ղࠗ Componentীࢲ ࢎਊೡ ঐद੸ ੋబ౟ܳ о۽଻૑ ޅೞѱ ؾפ׮. val intent = Intent("com.example.app.PAY") intent.setPackage("com.example.app") startActivity(intent) ݺद੸ ੋబ౟ ࢎਊ

Slide 9

Slide 9 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/guide/components/intents-filters?hl=ko#Receiving ঐद੸ ੋబ౟ীח Exported Component ݅ ࢎਊ оמ! ঐद੸ ੋబ౟ ࢎਊ ࠛо

Slide 10

Slide 10 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/guide/components/intents-filters?hl=ko#Receiving ?? exported=“true” ??

Slide 11

Slide 11 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/topic/security/risks/android-exported?hl=ko exported=“true” ?? • true ݽٚ জ੉ Activityী ঘࣁझೡ ࣻ ੓Ҋ प೯ೡ ࣻ ੓णפ׮ • false (Default) э਷ গ೒ܻா੉࣌ী ੓ח ҳࢿਃࣗա زੌೠ ࢎਊ੗ IDܳ о૓ গ೒ܻ ா੉࣌ ژח ӂೠ੉ ੓ח दझమ ҳࢿਃࣗ݅ Activityਸ प೯ೡ ࣻ ੓ण פ׮.

Slide 12

Slide 12 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ https://developer.android.com/topic/security/risks/android-exported?hl=ko exported=“true” • true ݽٚ জ੉ Activityী ঘࣁझೡ ࣻ ੓Ҋ प೯ೡ ࣻ ੓णפ׮ ࢲ࠺झ Ѣࠗ ҕѺ(DoS), জ੄ ղࠗ ӝמਸ ࣻ੿ೞӝ ਤ೧ ղࠗ Componentী ࠗ੸੺ೞѱ ঘࣁझೞח ׮ܲ জ, ޹хೠ ੿ࠁ ਬ୹, ஂডೠ গ೒ܻா੉࣌ ஶఫझ౟ীࢲ ௏٘ प೯

Slide 13

Slide 13 text

ѐੋ ੿ࠁ ࠁഐ ߂ ࠁউ ࠺޻ߣഐ হח ࣁ࢚, Passkey ૑ਗ https://github.com/android/identity-samples/ CredentialManager Credential Manager API 1. জীࢲ Google ҅੿ ࢶఖ 2. Face / ૑ޙ / ചݶ pin ਫ਼Ә ೧ઁ

Slide 14

Slide 14 text

জীࢲ ҅੿ ࢤࢿ ҳӖ ҅੿ োز ਫ਼Ә ߑध ࢶఖ ૑ޙ / PIN / Face ੋૐ (झ௼ܽࢫ ࠛо) ࢿҕ ! জীࢲ ҅੿ ࢤࢿೞӝ https://github.com/android/identity-samples/CredentialManager

Slide 15

Slide 15 text

Kotlin / Compose

Slide 16

Slide 16 text

Kotlin Kotlin Multiplatform Beta https://kotlinlang.org/docs/multiplatform.html#get-started

Slide 17

Slide 17 text

Kotlin Multiplatform Jetpack libraries https://kotlinlang.org/docs/multiplatform.html#get-started Annotations 1.7.0-alpha02 Collections 1.3.0-alpha04 DataStore 1.1.0-alpha03

Slide 18

Slide 18 text

Compose for TV https://kotlinlang.org/docs/multiplatform.html#get-started

Slide 19

Slide 19 text

Compose for TV TvLazyColumn { items(contentList) { content -> TvLazyRow { items(content) { cardItem -> Card(cardItem) } } } Alpha

Slide 20

Slide 20 text

Compose for Widget Jetpack Glance Beta

Slide 21

Slide 21 text

Compose for New Layouts Flow Layout Pager

Slide 22

Slide 22 text

Compose Pager https://developer.android.com/jetpack/compose/layouts/pager HorizontalPager(pageCount = 10) { // Our page content Text( text = "Page: $page", modifier = . . . ) }

Slide 23

Slide 23 text

Compose Pager https://developer.android.com/jetpack/compose/layouts/pager VerticalPager(pageCount = 10) { // Our page content Text( text = "Page: $page", modifier = . . . ) }

Slide 24

Slide 24 text

Flow layouts in Compose https://developer.android.com/jetpack/compose/layouts/flow FlowRow( . . . ) { // Flow content } FlowColumn( . . . ) { // Flow content } о۽ ࣁ۽

Slide 25

Slide 25 text

Compose Compose Libraries Glide Google Map com.github.bumptech.glide:compose Alpha com.google.maps.android:maps-compose

Slide 26

Slide 26 text

Compose Compose Debugging “Composableীࢲ recomposing੉ ੌযաҊ ੓חؘ ੷ח যڃ ౵ۄ޷ఠо ਗੋ੉ غח ૑ ݽܰѷযਃ” Debugging Jetpack Compose IO23: https://youtu.be/Kp-aiSU8qCU

Slide 27

Slide 27 text

Compose Recomposition State

Slide 28

Slide 28 text

Compose Recomposition State > Podcasts = Unstable > onTogglePodcastFollowed = Uncertain > Modifier = static Android Studio Hedgehog Unchanged : ߸҃غ૑ ঋ਺ Changed : ׮ܲ чਵ۽ ߸҃ؽ Uncertain : ੉ ч੉ ߸҃ ؼ૑ ݈૑ ই૒ Ѿ੿غ૑ ঋ਺ State : ੺؀ ч੉ ߄Շ૑ ঋ਺ Unstable : ࠛউ੿ೠ ఋੑ Debugging Jetpack Compose IO23 https://youtu.be/Kp-aiSU8qCU

Slide 29

Slide 29 text

Form Factors

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Form Factors ಪ ࢲ࠺झࠁ׮ క࠶݁ীࢲ ਬ੷ ࢎਊदр 70% ૐо How to build great Android apps for large screens and foldables IO23 : https://youtu.be/5JQjk3ZqPWc

Slide 32

Slide 32 text

Form Factors ਋ܻ੄ അप? Letterbox https://developer.android.com/guide/practices/enhanced-letterboxing

Slide 33

Slide 33 text

Form Factors https://developer.android.com/guide/practices/enhanced-letterboxing Size compatibility mode (ࢎ੉ૉ ഐജࢿ ݽ٘) (Android 12L ੉࢚) জ ചݶ ߑೱ੉ Ҋ੿غয ੓Ѣա ௼ӝܳ ઑ੿ೡ ࣻ হח ҃਋ दझమীࢲ Letterbox ୊ܻ ࢎਊ੗ח ݽٚ জਸ Multi-window ݽ٘۽ ੹ജ оמ app configurationী ҙ҅হ੉ ٣߄੉झܳ о۽ ژח ࣁ۽۽ ഥ੹ೞח Ѫ੉ оמ

Slide 34

Slide 34 text

Form Factors https://developer.android.com/guide/practices/enhanced-letterboxing#app_con fi guration

Slide 35

Slide 35 text

Form Factors https://developer.android.com/guide/practices/enhanced-letterboxing#app_con fi guration

Slide 36

Slide 36 text

Form Factors Configuration Changes https://developer.android.com/guide/topics/resources/ runtime-changes?hl=ko ചݶ ੽ӝ, ഥ੹ ചݶ ࢎ੉ૉ ߸҃, ژח Multi-window ݽ٘ ؀ഋ ചݶ ӝӝীࢲ ੌ߈੸ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val configurations = resources.configuration configurations.screenWidthDp configurations.screenHeightDp configurations.orientation configurations.layoutDirection configurations.fontScale configurations.fontWeightAdjustment configurations.densityDpi configurations.locales }

Slide 37

Slide 37 text

Form Factors class MainActivity : Activity() { lateinit var state: SomeState } Crash ઱੄! Configuration Changes Activity ੤ࢤࢿ lateinit var ૑ਕ૗ ଵઑೞѱ غݶ Crash!

Slide 38

Slide 38 text

Form Factors Best practices for saving UI state on Android IO23 : https://youtu.be/V-s4z7B_Gnc Save UI State ӝӝܳ ഥ੹ दఃѢա ੽঻ਸ ٸ, ೞ؍ ੘সਸ ਬ૑ೡ ࣻ ੓ب۾

Slide 39

Slide 39 text

Form Factors Tablet ӝળ਷? https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes#window_size_classes

Slide 40

Slide 40 text

Form Factors https://developer.android.com/docs/quality-guidelines/large-screen-app-quality?hl=ko ؀ചݶ ૑ਗ ഐജࢿ ୓௼ܻझ౟ ؀ഋ ചݶ ૑ਗ Tier 3 (ӝࠄ) ؀ഋ ചݶ ୭੸ച Tier 2 (਋ࣻ) ؀ഋ ചݶ ର߹ച Tier 1 (୭Ҋ) জ੉ ੹୓ചݶ, ݣ౭ਦب਋ ૑ਗ Letterbox ୊ܻ غ૑ ঋ਺ ഐജࢿ ݽ٘о ইש ఃࠁ٘, ݃਋झ ١ ৻ࠗ ੑ۱੢஖ ૑ਗ ݽٚ ചݶ ௼ӝ ߂ ҳࢿী ݏѱ ۨ੉ইਓ ୭੸ച ৻ࠗ ੑ۱੢஖ Ҋә ૑ਗ క࠶݁, ಫ؊࠶, ChromeOS ׮নೞҊ ୭੸੄ ࢎਊ੗ ജ҃ ૑ਗ ݣ౭కझఊ, ಫ؊࠶, ٘ېӒ & ٘܂ झఋੌ۞झ ੑ۱ ૑ਗ

Slide 41

Slide 41 text

Wear OS https://developer.android.com/wear?hl=ko Wear OS ࢜۽਍ ӝמٜ Ongoing Activities API ஠٘ Watch Face Studio ૓೯ ઺ੋ ഝزਸ ಴द о੢ ݆੉ ࢎਊೞח ੿ࠁ৬ ੘সী ࡅܰѱ ঘࣁझ ௏٬ হ੉ ݅٘ח द҅ചݶ ٣੗ੋ

Slide 42

Slide 42 text

Wear OS https://developer.android.com/wear?hl=ko Ongoing Activities API ఋ੉ݠ ղ࠺ѱ੉࣌ ࣁࠗ ҃۽ উղ ޷٣য ੤ࢤ ૓೯ ઺ੋ ഝزী ؀೧ ૑ࣘ੸ੋ ঌܿਸ ಴द

Slide 43

Slide 43 text

https://developer.android.com/wear?hl=ko Wear OS Card զॿ ഛੋ ఋ੉ݠ ࢸ੿ ೖ౟פझ ૓೯ ࡅܲ ਍ز द੘ ֢ې ੤ࢤ झா઴ ૌѹ ଺ח োۅ୊ Tile API

Slide 44

Slide 44 text

Wear OS Watch Face Studio (द҅ ചݶ झౚ٣য়) Wear 3.0 (API 30) ੉࢚

Slide 45

Slide 45 text

Form Factors https://developer.android.com/design/ui Design Hub Design for Mobile Expand to large screens Glance at Wear OS Design for TV пઙ ࢠ೒ ௏٘ ನೣ

Slide 46

Slide 46 text

Android Studio

Slide 47

Slide 47 text

Android Studio Stable 2023.04 What's new in Android development tools IO23 : https://youtu.be/7lubRrkxagk https://developer.android.com/studio/releases?hl=ko • Preview ૑ਗ Themed app icons (Android 13) Dynamic Color(Material 3) • Live Edit Update (पदр ࣻ੿ ߈৔) • Compose Profiler • Network Inspector ౟ې೗ о۽଻ӝ • App Quality Insight ೙ఠ ߂ Ѩ࢝ ୶о

Slide 48

Slide 48 text

Themed app icons ޷ܻࠁӝ ૑ਗ Android Studio Flamingo

Slide 49

Slide 49 text

System Profiler ীࢲ Compose Trace ૑ਗ Android Studio Flamingo

Slide 50

Slide 50 text

Android Studio Flamingo ౟ې೗ਸ о۽଻Ѣա ೻؊ ࣻ੿, ਽׹ ࠄޙ ࣻ੿ оמ Network Inspector

Slide 51

Slide 51 text

Android Studio Beta https://developer.android.com/studio/preview/features#current%20versions Canary

Slide 52

Slide 52 text

Android Studio https://developer.android.com/studio/preview/features#current%20versions New UI Giraffe Beta

Slide 53

Slide 53 text

Android Studio Canary

Slide 54

Slide 54 text

Android Studio https://developer.android.com/studio/preview/features#current%20versions Canary Compose Recomposition State Debugging

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

https://developer.android.com/studio/preview/studio-bot Android Studio Bot • Add to editor ௿ܼ ೠ ߣਵ۽ ࢤࢿػ ௏٘ ୶о • ҙ۲ ޙࢲ۽ ߄۽ оӝ • ௏٘ ߬੉झীࢲ ૒੽ Ask Studio Bot ઱ਃ ӝמ

Slide 57

Slide 57 text

хࢎ೤פ׮! ߓ೙઱ 
 GDG Android Korea, ֎੉ߡઁ౟ veronikapj Resources ݂௼ : ठۄ੉٘ ߹ о੢ ৽ଃ ೞױী ੓णפ׮