작성자: Manuel Vivo (Developer Programs Engineer)
이 글의 원문은 여기서 확인하실 수 있으며, 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다.
Google I/O 2021 - 스페셜 에디션
Android 개발 분야의 새롭고 눈에 띄는 소식을 계속 안내해드리는 'Now in Android '에 오신 걸 환영합니다. 이번 에피소드는 Manuel Vicente Vivo와 Daniel Galpin이 진행합니다.
아직 보지 않으신 분은 Google 기조연설, 개발자 기조연설, Android의 새로운 기능 세션을 꼭 챙겨 보세요. 생기 넘치는 물결 효과와 스트레치 오버스크롤을 포함한 Android 12 베타 1 업데이트, 7월에 안정화 버전으로 나올 예정인 Jetpack Compose 1.0, Material You 발표, 베타 단계에 이른 Android Studio Arctic Fox, Android 전문 개발자가 가장 많이 사용하는 언어인 Kotlin(상위 1,000개 앱 중 80%에서 사용)에 관한 모든 정보를 확인하실 수 있습니다. 또는 상위 10,000개 앱 중 84% 이상에서 현재 Jetpack 라이브러리를 사용 중이라는 사실도 알 수 있죠.
아직 보지 않으셨다면 지금 바로 확인해보세요. 기다리고 있겠습니다.
자, 확인해보셨나요? 흥미롭지 않으신가요? 그 외에도 I/O 세션에서 여러분이 놓쳤을지도 모를 몇 가지 뉴스를 소개해 드리겠습니다.
Jetpack! 🚀
Jetpack의 새로운 기능 세션과 블로그 게시물의 핵심 요약: CameraX, Hilt, Paging 3, ConstraintLayout, MotionLayout, Security crypto, Fragment 라이브러리가 안정화 버전으로 출시되었습니다! DataStore와 Compose는 현재 베타 버전입니다. 그리고 Jetpack에 새로 도입되는 라이브러리도 있습니다.
AppSearch는 새로운 온디바이스 검색 라이브러리로, 높은 성능과 다양한 기능을 갖춘 전체 텍스트 검색 기능을 제공합니다.
Macrobenchmark는 Jetpack의 벤치마킹 범위를 스크롤 성능(scrolling performance) 등의 앱 시작 및 통합 동작까지 확장합니다. 이 API를 사용하면 최악 또는 최선의 사례와 같은 컴파일 모드와 핫, 웜 또는 콜드와 같은 시작 모드에 따라 측정항목을 확인할 수 있습니다. 자세한 내용은 Macrobenchmark로 버벅거림 및 스타트업 측정 세션을 확인해 보세요.
또한, 현재 알파 버전으로 새로 나온 WorkManager 2.7은 Android S SDK를 타겟으로 하며 플랫폼의 새로운 포그라운드 제한 사항에 대한 추가 지원을 제공합니다. Android의 효과적인 백그라운드 작업 세션에서 자세한 내용을 확인하세요.
아, 깜빡 잊을 뻔했네요! Navigation 라이브러리를 사용한다면 최신 알파 버전의 다중 백스택 지원(Multiple backstacks support)을 꼭 확인해 보세요!
Jetpack Compose
많은 분들께서 이번 7월에 Jetpack Compose의 안정화 버전인 1.0이 나온다는 소식에 매우 기대하고 있습니다. 하지만 Compose를 채택할 때 원하지 않는다면 앱 아키텍처를 변경할 필요가 없다는 사실을 알고 계신가요? 이에 관해 더 알아보고 싶다면 Compose에서 Jetpack 라이브러리 사용 세션을 확인해 보세요. Compose는 Navigation, Kotlin Flow, Hilt 등 가장 인기있는 라이브러리와 통합되어 제공됩니다!
Compose는 머티리얼 디자인의 구현도 제공합니다. Compose가 제공하는 기능을 활용하려면 Jetpack Compose로 아름다운 머티리얼 디자인 앱 제작 세션을 확인해 보세요.
담당 팀에서는 Compose Navigation과 Compose Testing이라는 두 코드랩도 새로 선보였습니다. Compose 학습에 관심이 있다면 저희가 마련한 학습 경로를 살펴보세요. 또, 워크샵 영상을 통해 Compose로 앱을 처음 만들 때 필요한 기초 사항을 확인하실 수 있습니다.
Android 12 베타 1 📱
Android 12의 첫 번째 베타 버전은 Android 5.0에서 머티리얼 디자인을 도입한 이후 가장 큰 규모의 디자인 변경이 포함되어 있습니다. 시스템의 테마를 사용해 위젯에 적용할 수 있는 동적 색상(dynamic colors)을 비롯해 앱 위젯의 작동 방식 및 모습이 크게 새 단장을 거쳐 선보입니다. 자세한 내용은 '위젯 새로고침(Refreshing Widgets)' I/O 세션을 들어보세요. 단일 스크롤 컨테이너에만 적용되는 새로운 시스템 전체의 스트레치 오버스크롤 효과를 사용한 앱의 동작 방식도 확인하실 수 있습니다.
Android 12에서 Bluetooth 기기를 스캔하는 앱은 neverForLocation 속성이 있는 새로운 BLUETOOTH_SCAN 권한이 있으면, 더 이상 위치 권한을 가지고 있을 필요가 없습니다. 이를 통해 앱 마찰과 LOCATION 권한이 필요한 앱 개수를 모두 줄일 수 있습니다.
위치와 관련해서는, 이제 여러분이 FINE_LOCATION 권한을 요청하더라도 사용자는 대략적인 위치만 앱에 제공하도록 선택할 수 있습니다.
저희는 사용자가 볼 수 있는 개인정보 보호 대시보드, 새로운 마이크 및 카메라 표시기와 전환 기능, 클립보드 읽기 알림을 비롯해, 베타 2에 포함될 여러 새로운 개인정보 보호 기능을 미리 발표했습니다. Android 12의 모든 개인정보 보호 관련 변경 사항에 대한 자세한 내용은 '개인정보 보호에 관한 새로운 사항' I/O 세션을 확인해 보세요.
베타 버전은 또한 현재 미디어 기능에 초점을 맞춘 더 까다로운 사용 사례와 고품질 콘텐츠를 지원하는 기기를 위한 기능인 성능 클래스도 도입했습니다.
에뮬레이터, Pixel 3 이상의 기기 그리고 다양한 기기 파트너가 제공하는 일부 기기에서 Android 12 베타를 테스트할 수 있습니다.
Android Studio의 도구 지원 ❄️🦊
Android Studio Arctic Fox에는 새로운 기능이 대량 추가되었고 현재 베타 채널에서 이용할 수 있습니다! Compose 지원, Compose 개발 가속화를 위한 훌륭한 도구, Compose용 Layout Inspector 지원, 내장형 접근성 스캐너가 함께 제공됩니다! 또한 폴더블 에뮬레이터, Android TV용 리모컨, Wear OS용 페어링 마법사 등 지원되는 기기가 계속 늘어나고 있습니다. Android Studio 팀은 개발자 생산성 향상도 지향하므로 Background Tasks inspector, Kotlin 코루틴 디버거, Kotlin Symbol Processing 지원을 추가했습니다.
Android 개발 도구의 새로운 기능 세션에서 이 모든 기능이 실제 작동하는 모습을 살펴보세요
ConstraintLayout 및 MotionLayout 개선 사항에 관해 보다 심층적인 정보와 Android Studio에서 사용 가능한 Compose 도구는 디자인 도구의 새로운 기능 세션에서 확인해 보세요.
Kotlin 🌐
Android 개발자 커뮤니티에서는 무척 활발하게 Kotlin을 채택하고 있습니다. 저희뿐 아니라 커뮤니티의 모든 이가 Kotlin을 좋아합니다! Kotlin 현황 세션에서 언급할만한 몇 가지 새로운 사항은 Kotlin Symbol Processing과 UI 레이어에서 흐름을 수집하는 새로운 수명 주기 API입니다.
KSP(Kotlin Symbol Processing)는 빌드 속도를 높이고 기호 처리를 Kotlin 생태계의 최고 기능으로 만드는 것을 목표로 합니다. 더 이상 KAPT를 통한 Java 스텁 생성과 이와 관련된 긴 빌드 시간과 같은 문제가 없습니다. KSP는 Kotlin 컴파일러와 통합되며 모든 Kotlin 기호에 대한 액세스를 제공합니다. 가장 좋은 점은 뭘까요? KSP가 이제 베타 상태에 도달했다는 것으로, 이는 곧 KSP의 API 표면이 완성되었다는 뜻입니다. 저희 팀에서는 현재 KAPT를 사용 중인 플러그인 작성자가 KSP로의 마이그레이션을 시작할 것을 권장합니다. 저희 Jetpack Room 라이브러리는 베타 버전에서 KSP를 지원하며, KAPT를 통해 확인한 것보다 KSP로 2배 더 빠른 처리 속도를 보이고 있습니다. KSP는 최근에 ADB 팟 캐스트에 소개되었으니 자세히 알고 싶은 분들은 들어보시길 권해드립니다.
lifecycle-runtime-ktx 라이브러리의 최신 버전에는 수명 주기를 인식하는 repeatOnLifecycle API가 포함됩니다. API는 수명 주기가 특정 상태에 도달하거나 그 미만으로 떨어질 때 코드 블록을 취소하고 다시 시작하는 작업을 담당합니다. 이는 실행을 일시 중지하고 View가 백그라운드에 있을 때 업스트림 흐름을 활성 상태로 유지하는 launchWhenStarted API와는 다르게 작동합니다. 새로운 API는 특정 상황에서 리소스를 낭비하지 않으므로 앱의 효율성을 높이는 데 도움이 됩니다.
이런 API 덕분에, 앱의 모든 계층에서 Android의 Flow를 사용하는 스토리가 완성됩니다. LiveData에서 Kotlin Flow로 마이그레이션 블로그 게시물에서 자세한 내용을 확인할 수 있습니다.
대형 화면! Wear OS! Android TV! 🖥⌚️
저희 팀은 Chrome OS 기기, 폴더블과 같은 대형 화면 기기를 더 쉽게 타겟팅할 수 있게 해주는 기능, 목록/세부 정보 뷰의 구현을 단순화하는 업데이트된 접기 인식 SlidingPaneLayout, 가로 대형 화면을 위한 수직 navigation rail 구성요소, 일반적으로 과도하게 스트레치되는 Material 구성 요소(예: Button, TextField, Sheet)에 대한 최대 너비 값 및 새로운 가이드를 비롯해 다수 발표했습니다. 자세한 내용은 이 세션을 확인해 보세요.
다음 버전의 Wear가 나올 예정이므로, 미리보기 에뮬레이터 시스템 이미지, Android Studio 내에서 Wear 에뮬레이터를 다른 기기에 간편하게 페어링하기 위한 페어링 도우미, 가상 심박수 센서 등 새로운 도구가 준비되어 있습니다. Ongoing Activities API와 Tile은 사용자가 앱과 더욱 다양한 방법으로 상호 작용할 수 있게 해주는데, 삼성과의 협업을 통해 만든 이 새로운 건강 서비스 플랫폼은 알파 버전에서 통합할 수 있습니다. 또한, 곡선형 텍스트, 시계 모드, 정보 표시, 원격 상호 작용처럼, Wear용 빌드를 단순화하기 위한 새로운 Jetpack API가 있습니다. 이에 대한 더 자세한 설명은 'Wear의 새로운 기능'에서 확인하세요.
Android TV와 관련해서는 Cast Connect는 이제 스트림 전송 및 확장 기능이 있고, Android 11을 실행하는 새로운 에뮬레이터가 있으며, ADT-3 기기에서 Android 12 베타 1도 사용할 수 있습니다. 실제로 사용 중인 8,000만여 대의 TV 기기에서 실행되는 Android에 대해 자세히 알아보려면 'Android TV 및 Google TV의 새로운 기능' 세션을 확인해 보세요.
온디바이스 머신러닝🤖
저희는 Android가 업데이트 가능하고 완전히 통합된 ML 추론 스택을 사용한다고 발표한 바 있습니다. 이제 Google Play 서비스를 사용해 Android용 TFLite(TensorFlow Lite)와 NNAPI(Neural Networks API)를 제공하므로, 앱에서 새 APK를 게시할 필요 없이 APK 크기를 줄이고 더 새롭고 높은 성능의 버전을 활용할 수 있습니다.
TFLite, NNAPI, 관련 칩셋 드라이버는 플랫폼 버전과는 무관하게 업데이트되므로, Android 생태계 전반에 걸쳐 더욱 일관된 드라이버와 API가 있어야 합니다. TFLite 2.3에는 GPU 또는 가속기에서 실행하면 모델의 성능을 향상할 가능성이 있는 위치를 파악하는 데 도움이 되는 호환성 목록도 추가되었습니다.
저희는 모델에서 제공하는 메타데이터와 함께 해당 목록을 사용하여 CPU, GPU 또는 다른 가속된 백엔드에서 실행할지 여부를 결정하는 자동 가속(Automatic Acceleration)을 발표했습니다. Android에서 온디바이스 ML의 모든 새로운 기능에 대한 자세한 내용은 'Android 머신러닝의 새로운 기능' 세션에서 확인해 보세요.
테스트 🧪
과거에는 테스트가 CI 서버에서 통과했지만 Android Studio에서는 로컬 수준에서 실패하거나, 혹은 그 반대의 경우를 보셨을 수도 있습니다. 이러한 상황은 테스트에 대한 자신감을 잃게 만들고, 또한 생산성에도 영향을 미칩니다. Android Studio와 Android Gradle 플러그인이 다양한 버전의 Android 계측 테스트 실행기를 구현하는 것이 그 이유 중 하나였습니다. Android Studio Arctic Fox에서는 Android Studio의 모든 테스트가 Android Gradle 플러그인을 통해 실행되므로 일관된 동작이 나타납니다.
Nitrogen? Nitrogen 프로젝트에 무슨 일이 일어나고 있을까요? 그동안 이 질문을 수없이 받았습니다. 더 이상 Nitrogen이 문제가 아니라, 이제는 Android Studio와 Android Gradle 플러그인에서 적절한 규모로 Android 테스트를 실행하기 위해 확장 가능한 테스트 실행기인 UTP(Unified Test Platform)에 관심을 가져야 할 때입니다.
UTP에서 사용하는 기능 중 하나는 Gradle DSL을 사용하여 기기를 정의할 수 있게 해주는 Gradle 관리형 가상 기기입니다. 또 다른 기능은 여러 기기에서 테스트를 병렬로 실행하여 테스트 실행의 확장성을 향상할 수 있는 기능입니다. 마지막으로, 나중에 상태를 복원하고 잘못된 점을 확인할 수 있도록 테스트 실패에 대한 에뮬레이터 스냅샷을 얻을 수 있습니다.
Android 테스트 도구의 새로운 기능 세션에서 테스트에 대해 자세히 알아보세요.
게임 개발 🎮
I/O에서는 게임 개발자를 위한 내용을 많이 다루지 않았는데, 이는 7월 12~13일(한국 시간으로 13~14일)에 진행되는 온라인 Google for Games Developer Summit이 예정되어 있기 때문입니다. 지금 무료로 등록하시고 I/O에서 다루지 않은 게임 개발 관련, 최신 기술과 지식을 만나보세요!
Google Play 🏪
저희는 지난 수 년에 걸쳐 정책, 정책 변경 사항, 정책 위반 시의 조치 사항에 관한 질문을 굉장히 많이 받아왔는데요, 이제 Play Console에 정책 및 시행 정보를 한 곳에 정리한 새로운 정책 및 프로그램 섹션을 마련하게 되었습니다.
Google Play에는 SDK 제공자가 미준수 또는 오래된 SDK 버전과 같은 문제를 신고할 수 있는 새로운 SDK 콘솔도 있습니다. Android Gradle 플러그인 4.0 이상은 AppBundle을 사용해 게시하는 경우 앱에 종속 항목이 있는 SDK가 어떤 것인지 자동으로 보고할 수 있으며, 이를 통해 Play에서 SDK 업데이트 권장 시 개발자에게 알림을 발송하는 등의 조치를 취할 수 있습니다. 올해 안에 Play에서는 앱에 적합한 SDK 선택에 도움이 되는 새로운 웹사이트도 마련할 예정입니다.
Play Billing 4.0 라이브러리 출시를 통해 단일 구독으로 여러 제품을 묶어서 사용할 수 있는 다중 수량 구매 및 다중 라인 구독과 같은 새로운 기능을 지원합니다. 기존 결제 지원 앱을 업데이트하려면 올해 11월 1일부터는 최소한 이전의 Play 결제 3.0 라이브러리가 필요하지만, 새 앱은 8월 2일까지 Play 결제 3.0 이상으로 옮겨야 합니다.
ADB 팟캐스트 에피소드 🎧
지난번 'Now in Android ' 이후로 Android 개발자 백스테이지 에피소드 두 편이 게시되었습니다.
ADB는 전체 ADB 팀이 Android 그래픽팀의 Nat Duca, Sumir Kataria와 함께 셰이더, GPU, Vulkan, OpenGL, ANGLE, 드라이버, 블러, 픽셀 그리고 당연히 Chet가 가장 좋아하는 주제인 색상과 같은 주제로 대화를 나눈 에피소드 #163을 공개했습니다.
에피소드 164는 Jetpack Compose의 새로운 미니 시리즈 'AD/BC' 중 첫 번째 에피소드로, Android의 향후 UI 도구 키트에서 다양한 주제를 심층적으로 다룹니다. 이번에 Nick과 Chet는 Adam Powell, Leland Richardson과 함께 Compose 컴파일러, 런타임, 데이터 흐름 그리고 Compose가 데이터 상태의 변화를 기준으로 Composable을 호출할 시점을 아는 멋진 기능에 관해 대화를 나눴습니다.
자, 이제… 👋
아쉽지만 오늘은 여기까지 하죠. 올해 Google I/O에서 즐거운 시간 보내셨기를 바랍니다. Jetpack, Android 12 및 개인정보 보호, 도구, Kotlin, 대형 화면, Wear OS, Android TV, 온디바이스 머신러닝, 테스트, 게임 개발, Google Play에 대한 훌륭한 업데이트가 많습니다. 그래픽 및 Compose 팟캐스트를 들어보시고 곧 다시 돌아오셔서 Android 개발자 커뮤니티의 다음 업데이트 정보를 확인해주세요!
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 개발자 커뮤니티의 다음 업데이트 정보를 확인해주세요.