Android 개발 분야의 새로운 소식을 안내해드리는 'Now in Android'에 오신 것을 환영합니다.
Android 12용의 두 번째 개발자 프리뷰 릴리스가 출시되었습니다.
블로그를 통해 PIP 모드 개선 사항부터 흐림(blurs) 및 컬러 필터(color filter)와 같은 쉽고 강력한 그래픽 효과를 위한 새로운 RenderEffect API까지, 개발자를 위한 릴리스 주요 내용을 정리한 개요를 읽어보세요.
한편, 이러한 프리뷰 릴리스에 대한 개발자 문서를 다음 몇 가지 부분에서 개선했습니다.
요약: 앱에 가장 적절한 기능과 변경 사항을 쉽게 식별할 수 있도록 요약 표(summary table)를 추가했습니다. 미디어 또는 개인정보 보호 등의 범주를 기준으로 필터링할 뿐 아니라, 변경 사항이 모든 앱에 영향을 미치는지 또는 특정 대상 API 수준의 앱에만 영향을 미치는지 여부를 기준으로 필터링할 수 있습니다.
포그라운드 서비스: 포그라운드 서비스(Foreground service) 출시 제한은 Android 12의 동작 변경 사항 중 하나입니다. 몇 가지 예외는 있지만, 백그라운드에서 포그라운드 서비스를 시작하는 앱(대상 API 수준 >= S)에 영향을 미칩니다. 개발자 여러분의 피드백을 반영해 배터리 최적화(battery optimizations)와 예외 사례(exceptional cases) 등 세부 정보에 관한 추가 설명과 지침을 추가했습니다.
동작 변경 사항, 새로운 기능과 API 등에 관한 자세한 내용은 Android 12 Preview 사이트를 살펴보세요. 그리고 가장 중요한 점! 새 릴리스에서 앱 시험 후 혹시 문제가 생기면 꼭 피드백을 보내주세요. 여러분의 피드백을 바탕으로 조기에 다양한 문제를 찾아내 바로잡고, 잘 다듬어 최종 버전을 정식 출시하기 위해 프리뷰를 일찍 발표하고 있습니다.
점점 더 다양한 특징, 수정 사항, 기능과 함께 최종 릴리스를 향해 계속 진행되므로, 앞으로도 많은 관심 가져주시고 더 많은 릴리스를 확인해 보세요. 잊지 말고 꼭이요!
최신 Android 개발에 대한 기술 콘텐츠와 함께 MAD Skills 시리즈를 계속 선보이고 있습니다. MAD Skills의 WorkManager 시리즈가 4월 초에 끝날 예정이지만, 먼저 아래와 같이 확인해 볼 더 많은 콘텐츠가 있습니다.
Firebase JobDispatcher와 GCMNetworkManager의 지원 중단:
아직도 Firebase JobDispatcher나 GCMNetworkManager API를 사용하고 계신가요? 그런 분이 계시다면 이제는 멈춰야 합니다. 두 API가 모두 지원 중단되어 새로운 API로 넘어가야 할 시점이기 때문입니다. 이젠 WorkManager로 갈아타세요!
이 에피소드에서는 Caren Chang이 WorkManager 사용을 위해 코드를 마이그레이션하는 방법을 보여드립니다. 아래 영상 외에, Firebase JobDispatcher와 GCMNetworkManager에서 마이그레이션하는 방법에 관한 가이드도 꼭 확인해 보세요.
커뮤니티 팁:
Hugo Visser가 WorkManager를 사용하여 자신이 작업 중인 건강 앱에서 정기적인 데이터 다운로드와 처리를 예약하는 방법을 공유합니다. 또한, 이 일부 기기에서 발견되어 버그로 제출된 문제를 어떻게 WorkManager의 최신 릴리스에서 해결했는지도 공유합니다(여러분의 피드백이 큰 도움이 됩니다!).
WorkManager Q&A:
WorkManager 시리즈의 마지막 회를 위해 WorkManager 전문가들과 실시간 Q&A세션을 다시 한 번 진행했습니다. 이 시리즈의 진행자 Ben Weiss와 Caren Chang 그리고 WorkManager 전문 엔지니어 Sumir Kataria와 Rahul Ravikumar가 출연하고 제가 여러분을 대신해 질문하는 형식이며, 아래 링크를 통해 녹화 영상을 다시 확인하실 수 있습니다.
YouTube의 MAD Skills 영상 목록, Medium의 문서 또는 이 모든 정보가 담긴 MAD Skills 웹페이지에서 앞으로도 계속 이어질 콘텐츠를 확인하는 걸 잊지 마세요!
저희는 최근에 Fragment 1.3.2, Activity 1.2.2, Lifecycle 2.3.1을 포함한 몇 가지 안정적인 AndroidX 버그 수정 버전을 출시했습니다.
또한, 다음을 비롯해 이제 막 알파 릴리스로 선보인 새롭고 흥미로운 라이브러리가 몇 가지 있습니다.
SlidingPaneLayout 1.2.0-alpha01: 이 버전은 폴더블 기기 지원 기능을 제공하고 기기를 접을 때 두 창이 어느 한쪽에 있도록 두 창의 크기를 자동으로 조정합니다. 두 개의 창으로 구성된 레이아웃 생성에 관한 새로운 문서도 나왔는데, SlidingPaneLayout을 앱에 통합하는데 필요한 단계가 설명되어 있습니다.
현재 WorkManager 2.6.0과 Lifecycle 2.4.0에서 App Startup 라이브러리를 사용합니다. 저는 지난 12월에 App Startup 라이브러리에 관한 글을 1부와 2부로 나누어 썼습니다. 라이브러리를 미리 로드하기 위해 기존의 ContentProvider 접근 방식이 아닌 App Startup을 사용하면 라이브러리 로드 시간을 적당히 늦춰서 초기화 비용이 앱이 시작될 때마다 발생하는 게 아니라 필요할 때만 발생하도록 할 수 있다는 이점이 있습니다. 또한, App Startup을 통해 (App Startup 자체를 로드하는) ContentProvider를 하나만 사용해 여러 라이브러리를 로드할 수 있어, 각각의 개별 라이브러리에 대해 별개의 공급자를 갖는 데 따른 오버헤드(overhead)를 피할 수 있습니다.
Lifecycle 2.4.0-alpha01: 수명 주기에 대해 말하자면, 이 버전은 UI에서 Kotlin 코루틴 흐름을 수집하기 위해 lifecycle-runtime-ktx 아티팩트에 새 API를 추가합니다. Manuel Vivo가 자신의 새 블로그 게시물에서 흐름을 더 안전하게 수집하는 방법에 관해 자세히 설명한 글을 읽어보세요.
Oboe는 다양한 Android 릴리스와 기기를 통해 지연 시간이 짧은 고성능 오디오를 실현하기 위한 네이티브 라이브러리입니다. 저희는 지난 4월에 ADB 팟캐스트에서 Oboe 엔지니어들과 대화를 나누었는데, 지금은 Oboe가 Games SDK에 통합되었습니다. Daniel Galpin은 프로젝트에 Oboe를 추가해 코드에 Oboe를 사용하기 시작하는 방법을 Android 개발자 블로그에서 자세히 설명합니다.
Oboe를 사용하는 고성능 게임 오디오
UI 계층에서 더욱 안전하게 Kotlin 흐름을 수집할 수 있게 해주는 Lifecycle 2.4.0-alpha01의 새 API에 대해 Manuel Vivo가 작성한 블로그 게시물을 읽어보세요.
Android UI에서 흐름을 더욱 안전하게 수집하는 방법
Nicole Borrelli이 PendingIntent를 적절하게 사용하는 방법과 시점에 관한 글을 작성했습니다. 다음 릴리스에서는 보안 중심으로 변경이 이루질 예정이라 Android 12를 대상으로 하는 앱이 PendingIntent의 변경 가능성을 선언해야 하므로, 관련 주제의 글이 적절한 시기에 나온 셈이니 꼭 읽어보세요.
PendingIntent에 관한 모든 것
4단원 교육과정에 참여해주세요!
Android 개발의 기초 뿐아니라 Kotlin 프로그래밍을 위한 교육 과정인 Kotlin으로 배워보는 Android 기초(Android Basics in Kotlin)에서 4단원: 인터넷에 연결하기(Unit 4: Connect to the Internet)가 업데이트 되었습니다. 이 새로운 콘텐츠를 통해 Kotlin 코루틴으로 코딩하고 네트워크 데이터 처리를 위한 Retrofit 및 Coil과 같은 중요한 라이브러리 사용법을 배워보세요.
ADB는 죽었다. [Blogger에서]
ADB여, 영원하길! [Libsyn에서]
이제 Android Developers Backstage가 새로운 사이트, 새로운 피드, 새롭고 화려한 로고로 새 단장을 마쳤습니다!
현재 ADB 구독자의 경우 이번 변경 사항으로 미치는 영향이 전혀 없고 피드가 자동으로 리디렉션되므로 다시 구독할 필요가 없습니다. 하지만 향후 에피소드에 대한 안내 정보를 찾고 계시다면 Libsyn(adbackstage.libsyn.com)에서 확인해 보세요.
새로운 사이트와 피드에 처음 게시된 에피소드는 오랫동안 독립 Android 앱 개발자로 활동해온 Chris Lacy와 나눈 대담이었습니다. Romain과 저는 Chris가 앱을 구현한 방법과 그 과정에서 Android 프로그래밍 및 API에 관해 알게 된 내용을 함께 들어보았습니다.
아쉽지만 오늘은 여기까지 하죠. Android 12 DP2의 최신 기능에 관한 글을 읽어보시고 WorkManager MADSkills 시리즈의 최신 에피소드를 시청해주세요. 최신 AndroidX 라이브러리 릴리스로 자유롭게 다양한 실험을 해보세요! Oboe, Kotlin 흐름, PendingIntent에 관한 글을 읽어보세요! Kotlin으로 배워보는 Android 기초 교육 과정의 최신 단원을 수강하세요. 최신 ADB 팟캐스트를 들어주시고 곧 다시 돌아와 Android 개발자 커뮤니티의 다음 업데이트 정보를 확인해주세요.