inblog logo
|
code-with-me
    Event

    [Event] I/O Extended Android in Korea 2024

    일시 : 2024년 07월 20일 (토) 오후 01:00 - 오후 06:00 장소 : 구글 스타트업 캠퍼스 주최 : GDG Campus Korea 티켓 마감 이슈로 참여하지는 못했지만, 발표 자료 볼 수 없을까 검색하다가 찾아서 작성하는 포스팅!
    Jul 21, 2024
    [Event] I/O Extended Android in Korea 2024
    Contents
    세션1. What’s new in Android

    https://social.wanted.co.kr/community/article/109440 에서 발표자료를 보실 수 있습니다!

    세션1. What’s new in Android

    Kyeongwan Kang : Woowaw Bros. Android Developer GDG Korea Android Organizer

    Linkedin : https://www.linkedin.com/in/kyeongwan-lucas-kang/

    발표 자료 주요 키워드를 바탕으로 추가적으로 정리 (공식문서 포함)

    • AI with Android

    • Android Studio

    • Adaptive Layout

      • 새롭게 출시된 material3-adaptive 라이브러리는 ListDetailPaneScaffold와 SupportingPaneScaffold 같은 적응형 시나리오를 구현할 수 있는 API가 추가됨.

      • 아직 navigation 라이브러리와 통합되지 않음.

      • https://developer.android.com/develop/ui/compose/layouts/adaptive/list-detail?hl=ko#implement_ui_pattern_with_listdetailpanescaffold

    • Compose

      • 이제 HTML을 annotatedString으로 변환하기 위한 코드를 작성할 필요가 없음. 인라인링크와 HTML 포맷팅을 지원하는 AnnotatedString.fromHtml() 익스텐션이 추가됨

        • https://developer.android.com/reference/kotlin/androidx/compose/ui/text/AnnotatedString.Companion

      • 최대 줄 수를 정하면 화면에 들어갈 수 있는 항목을 구성 후 넘치는 항목에 대한 컨텍스트를 제공함

        • https://developer.android.com/develop/ui/compose/layouts/flow?hl=ko

      • Shared elements(공유 요소)는 Modifier.sharedElements()와 Modifier.sharedBounds() 를 사용해서 전환 효과를 만들 수 있음.

        • 애니메이션 컨텐츠 컴포저블을 SharedTransitionLayout으로 감싸고, 전환할 컨텐츠에 Modifier.sharedElements()나Modifier.sharedBounds() 를 추가하면 된다. 화면 전환을 할 때 사용하려면 Navigation-compose와도 함께 사용할 수 있음.

        • https://developer.android.com/develop/ui/compose/animation/shared-elements?hl=ko

      • Indication API가 변경됨. 리플 효과를 그리는 구현이 변경되서 Ripple API로 마이그레이션이 필요함. 17% 그리는 속도 향상됨.

        • https://developer.android.com/develop/ui/compose/touch-input/user-interactions/migrate-indication-ripple#upgrade-material

      • Jetpack Compose는 출시될 때 마다 빨라짐. 컴포저블 함수의 성능 최적화를 위해 Strong Skipping mode 도입, 효율적으로 컴포저블 함수를 건너 뛰어 성능 향상에 중점을 둠. 모든 매개변수가 stable하지 건너뛰기 가능. 더 많은 recomposition이 skip되지만 아직은 실험적인 기능.

        • https://developer.android.com/develop/ui/compose/performance/stability/strongskipping

      • Lambda memoization이 생김. 람다 호출을 위해 remember로 감쌌다면 Strong Skipping mode가 활성화되면 자동으로 모든 람다가 remember로 감싸줌

        • https://developer.android.com/develop/ui/compose/performance/stability/strongskipping#lambda-memoization

      • 코틀린 2.0 출시되고, 컴포즈 컴파일러가 코틀린에 직접 배포됨! 컴포즈 컴파일러가 코틀린 저장소로 옮겨지면서 코틀린과 컴포즈의 통합이 더욱 원활해짐. => 코틀린 버전과 일치하는 컴포즈 컴파일러 버전을 지정할 필요가 없어짐!!!! Compose Compiler Gradle로 쉽게 업데이트 가능함.

        • https://developer.android.com/develop/ui/compose/compiler

    • Android 15

      • 앱에서 SDK 35 이상을 타겟팅하면 Android 15 이상 기기에서는 더 넓은 화면(Edge to Edge)이 자동으로 사용 설정됨

      • Material3 컴포넌트를 사용할 땐 자동으로 인셋을 처리하고 그 외의 경우는 수동으로 WindorInset을 적용해야함

    • Glance

      • Canonical layouts로 표준화된 디자인 가이드 제공

        • https://m3.material.io/foundations/layout/canonical-layouts/overview

      • androidx.glance 종속 항목 추가하고 작업하기

        • https://developer.android.com/jetpack/androidx/releases/glance?hl=ko

        • 코드 샘플 https://github.com/android/user-interface-samples/tree/main/AppWidget

    • Credential Manager

      • Passkey

      • Digital credentials

      • Wear OS support

      • 관련 포스팅 : https://inblog.ai/code-with-me/기존-google-로그인-대신-credential-manager-api를-활용한-sign-in-with-google-로그인-구현하기-21777

    • Health

      • 기존 Google Fit API(2025년 6월 30일까지만 사용 가능함)에서 Android Health API로 마이그레이션 하는 것이 좋음

      • Google Fit API에서 recording API도 모바일에 도입하여 걸음 수 추적 가능, 조만간 이동거리 및 열량 소모도 측정하게 할 예정

    • A11y

      • Compose UI Check mode

        • Compose UI 접근성 문제를 자동으로 테스트함

        • 다양한 상황을 모두 테스트, 접근성 문제를 감시함

    Share article
    Contents
    세션1. What’s new in Android

    code-with-me

    RSS·Powered by Inblog