Now in Android #64

ganghee·2022년 8월 4일
0

[번역] Now in Android

목록 보기
30/64
post-thumbnail

Now in Android에 오신 것을 환영합니다. 이번 주 구글 안드로이드 기술 중 새로운 기술과 주목할만한 기술을 알아봅시다.

Episode 64 Video and Podcast





Developer-Powered CTS (CTS-D) 🧪

Compatibility Test Suite(CTS)안드로이드 호환성 프로그램의 중요한 역할을 하며 애플리케이션의 안정성과 일관된 환경을 제공합니다. CTS를 개선하면서 안드로이드 팀은 CTS-D라고 하는 새로운 테스트 suite를 제공합니다. CTS-D는 개발자가 빌드하고 수행합니다. 테스트 케이스를 CTS-D에 보고하여 해결 중인 문제점을 확인할 수 있습니다. 기기 동작은 안드로이드 공개 APIAndroid Compatibility Definition Document(CDD)에서 작동하지 않습니다. AOSP가 오픈 소스로 만들어진 이후로 누구나 CTS-D를 이용하여 호환성을 확인할 수 있습니다. 튜토리얼을 통해 더 많은 정보를 얻을 수 있습니다.




Independent versioning of Jetpack Compose libraries ✒️

안드로이드 개발팀은 다양한 Jetpack Compose 라이브러리를 독립적으로 버전관리하고 애플리케이션을 쉽게 업데이트하고 최근 Compose 기능과 함께 유지하는 방법을 소개합니다.

독립적인 버전관리에서 첫 번째 라이브러리는 Compose 컴파일러입니다. 이것은 코틀린 버전과 관련이 깊으며 Compose Compiler 1.2.0코틀린 1.7.0을 지원하여 Compose UI 라이브러리와 Compose Runtime 라이브러리의 호환성을 가집니다. 안정화된 Compose Compiler 1.2.0 버전과 코틀린 1.7.0으로 업데이트하면서 최근 버전의 Compose 라이브러리를 사용할 수 있습니다.

다른 버전의 컴파일러 라이브러리로 바꾸는 것은 다른 컴포즈 라이브러리 그룹과 결합도를 낮추는 첫 단계입니다. 각각의 버전관리를 위한 빌드를 준비하고 최신 [컴포즈 컴파일러]와 [코틀린 버전]을 사용해보세요!




Notes from Google Play: making Play work for everyone ▶️

Google Play의 최근 Note 버전에서 안드로이드 팀은 Play Integrity APIData Safety section, Privacy Sandbox on Android, 100개 이상의 상업적 SDK에 대한 정보와 인사이트를 제공하는 Google Play SDK Index를 다루고 있습니다. 새로운 subscription capabilities는 여러 개의 기존 계획과 각각의 구독을 제공합니다. 5US cents 정도의 적당한 가격으로 선택지를 추가했습니다.

OLIO 정보를 공유하여, 커뮤니티 애플리케이션은 음식물 쓰레기 낭비를 줄이고 작년 Indie Games Accelerator and Indie Games Festival 프로그램 중 하나인 Jimjum 스튜디오에서 Google Play coffee break 시리즈를 시작하였습니다. 그리고 애플리케이션과 게임을 통해 #WeArePlay를 런칭하여 글로벌 커뮤니티를 환영하는 기획을 하였습니다.



Dark theme testing in Pre-Launch Report 🕶️

구글 플레이에서 안드로이드 앱 번들을 업로드하고 테스트한 후 안드로이드 기기에 설치합니다. 그리고 몇 분 후에 런칭하고 컴파일한 정보를 pre-launch 보고합니다. 안드로이드 팀은 Pre-Launch Report에서 새로운 테스트 방식을 소개합니다. 다크 테마에서 접근성을 확인할 수 있습니다. 백그라운드에서 문자와 아이콘이 구별되지 않는 색상 대조 이슈를 감지합니다. 만약 스타일링과 요소를 놓치거나 다크 테마에서 정확하게 적용되지 않는 UI를 테스트하고 확인할 수 있습니다.




Videos 📹

Performance tips to achieve App Excellence 영상은 5개의 애플리케이션 성능 이슈를 안드로이드 스튜디오와 구글 플레이 콘솔 같은 도구를 통해 진단하고 해결하는 것을 보여줍니다.





Articles 📰

이번 주, Todd는 behavior Change with Intent Filters in Android 13를 주제로 블로그 글을 올렸습니다. 이 블로그는 intent의 상세한 action과 intent-filter 요소와 일치하여 정의하는 것이 있다면 외부 애플리케이션에서 컴포넌트로 노출하는 방법을 알려줍니다.

Rebecca는 AnimatedContent를 이용하여 서로 다른 composables를 더 부드럽고 맞춤화한 트랜지션 효과를 소개합니다. 많은 개발이 필요 없이 AnimatedContent의 내장된 기능은 큰 차이의 레이아웃 모습과 느낌을 만들어 냅니다.

Ben은 컴포저블의 각 매개변수 안정성을 결정하여 재구성 중에 생략할 수 있는 확인하는 방법(컴파일러 보고서를 사용하여 클래스에 대해 추론되는 안정성)에 대한 블로그 글을 올렸습니다. 예를 들어 리스트와 같은 collection 객체와 Set, Map은 불변성을 보장하지 않고 Kotlinx를 사용하여 불변 collections 대신 객체에 @Immutable 또는 @Stable과 같은 어노테이션을 사용하여 recomposition을 생략하는 것을 허용할 수 있습니다. 블로그에서 더 많은 정보를 확인해주세요.

kotlinx.coroutines 1.6은 새로운 테스트 API를 제공하고 이전 testing API는 더 이상 지원하지 않습니다. Marton은 대다수의 안드로이드 프로젝트를 위한 필수 작업을 다루는 새로운 API로 마이그레이션하는 예시를 블로그 글에 올렸습니다.




AndroidX release 🚀

지난 Now in Android 에피소드 이후 AndroidX에서 흥미로운 기능이 만들어졌습니다. 어떤 것이 새롭게 안정화된 기능으로 나왔는지 알아봅시다.

Activity Version 1.5.0
Dialog의 subclass는 OnBackPressedDispatcher를 포함한 ComponenetDialog를 추가하여 ComponentActivity에서 모듈화된 Callback Interface와 ComponentActivity가 Lifecycle 2.5.0의 CreationExtras를 통해 stateless ViewModelProvider.Factory를 제공할 수 있습니다.

Camera Version 1.1.0
공식적인 camera-video 라이브러리를 통해 비디오 캡쳐 사용 기능을 추가하여, YUV에서 RGB로 변환과 회전, 멀티 윈도우 모드 지원, CameraState API, 확장이 가능할 때 OnImageCapturedCallback을 위한 JPEG 생성, ExperimentalCameraFilter와 compensation API 노출 등의 기능을 공개하였습니다.

Compose Compiler Version 1.2.0
코틀린 1.7과 독립적인 Compose 라이브러리 버전 지원

Fragment Version 1.5.0
CreateionExtras Integration과 Component Dialog Integraion 추가 Saved Instance State 리팩터링

Lifecycle Version 2.5.0
getStateFlow() API가 SavedStateHandle로 추가 값 변화 모니터링의 StateFlow 반환과 새로운 생성 오버로딩을 통한 ViewModelProvider.Factory subclass의 CreationExtras 추가 Application 또는 SavedStateHandle 등의 객체를 간단한 구현으로 접근

Navigation Version 2.5.0
Android Gradle Plugin 7.0.4에서 개선된 Safe Arg와 applicationId 대신 build.gradle에서 속성으로 namespace지원 추가, Lifecycle 2.5.0의 CreationExtras에서 Safe Args stateless ViewModelProvider.Factory 지원.

SavedState Version 1.2.0
SavedStateRegistryController가 performAttach()에서 SavedStateRegistry의 빠른 실행과 getSavedStateProvider()를 통해 SavedStateRegistry로부터 전에 설정된 SavedStateProvider 호출, 코틀린에서 호환되지 않는 몇 가지 변화를 리팩터링

0개의 댓글