[go: up one dir, main page]

작성자: Nick Rout (Developer Relations Engineer, Google)

이 글의 원문은 여기서 확인 가능하며, 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다. 


간단히 정리해드립니다!

최신 Android 개발에 관한 MAD Skills 영상 및 기사 시리즈의 세 번째 주제가 완료되었습니다.  이번에는 머티리얼 디자인 구성요소(Material Design Components, 줄여서 MDC라고 함)를 다루었습니다. 이 라이브러리는 머티리얼 구성요소를 Android 위젯으로 제공하고 Material Theming, Dark Theme, Motion과 같은 material.io에서 보이는 디자인 패턴을 쉽게 구현할 수 있게 해줍니다.

아래의 에피소드와 링크를 확인해 어떤 내용을 다루었는지 살펴보세요. 다양한 방식으로 콘텐츠를 접할 수 있도록 기존 샘플 앱 및 코드랩 뿐 아니라 최신 MDC 기사 시리즈의 내용을 충실히 반영된 영상도 함께 시청해보세요. MDC 팀의 엔지니어들이 출연하는 Q&A 에피소드도 준비했습니다!

1화: MDC를 사용하는 이유가 뭘까요?

Nick Butcher의 첫 번째 에피소드는 MDC를 추천하는 이유를 비롯하여 MAD Skills 시리즈 전체 내용을 담은 개요 동영상으로, Material Theming, Dark Theme, Motion에 대해 자세히 살펴봅니다. 또한 MDC와 Jetpack Compose의 상호 운용성(interop) 그리고 MDC 및 테마/스타일 모범 사례를 포함하는 Android Studio 템플릿에 대한 업데이트도 다룹니다.


또는 아래의 게시글로도 확인하실 수 있습니다. 

https://medium.com/androiddevelopers/we-recommend-material-design-components-81e6d165c2dd

2화: Material Theming

Nick Rout가 진행한 두 번째 에피소드에서는 Material Theming을 다루고 MDC를 사용해 Android에서 이를 구현하는 방법을 살펴봅니다. 주요 주제로 'Theme.MaterialComponents.*' 앱 테마, 색상, 유형 및 모양 속성 선택 (material.io에 대한 도구를 사용함), 그리고 마지막으로 테마에 이들을 추가해 위젯이 자동으로 반응해 UI를 조정하는 방식을 다룹니다. 또한 테마 색상 속성을 확인하거나 이미지에 모양을 적용하는 것과 같이, 특정한 상황에 맞춰 MDC가 제공하는 간편한 유틸리티 클래스도 다룹니다.

https://youtu.be/QDp8X43oFy8

또는 아래의 Medium 기사를 통해서도 확인하실 수 있습니다. 

https://medium.com/androiddevelopers/material-theming-with-mdc-color-860dbba8ce2f

https://medium.com/androiddevelopers/material-theming-with-mdc-type-8c2013430247

https://medium.com/androiddevelopers/material-theming-with-mdc-shape-126c4e5cd7b4

3화: Dark Theme

Chris Banes이 진행하는 이 에피소드에서는 MDC를 사용하여 Android 앱에 대해 Dark Theme를 구현하는 과정을 안내합니다. 이번 에피소드에서는 “어두운 테마 강제 설정(force dark)” 사용해 빠르게 변환하는 방법과 (위 설정에서 뷰를 제외하는 방법도 포함), '.DayNight' MDC 앱 테마와 '.PrimarySurface' MDC 위젯 스타일로 디자인을 선택하여 수동으로 Dark Theme를 만드는 방법과 시스템 UI 처리 방법도 함께 다룹니다. 


https://www.youtube.com/watch?v=4OO_Evk0jHI&feature=youtu.be

또는 아래의 게시글로도 확인하실 수 있습니다.

https://medium.com/androiddevelopers/dark-theme-with-mdc-4c6fc357d956

4화: Material Motion

Nick Rout가 진행하는 네 번째 에피소드에서는 Material의 모션 시스템에 대해 알아봅니다. 기존의 “Android용 Material Motion으로 최적의 전환 만들기” 코드랩에 나와 있는 단계를 철저히 따릅니다. Reply 샘플 앱을 사용해 더욱 자연스럽고 이해하기 쉬운 사용자 환경을 위해 container transform, shared axis, fade through, fade와 같은 전환 패턴을 사용하는 방법을 보여줍니다. (Navigation 구성요소를 포함한) Fragment, Activity, View와 관련된 시나리오를 진행하며, 이전에 AndroidX와 플랫폼 전환 프레임워크를 사용해본 적이 있으면 익숙할 것입니다.

https://youtu.be/xiNtXsWRD3g


또는 아래의 Medium 게시물을 통해서도 확인 가능합니다. 

https://medium.com/androiddevelopers/material-motion-with-mdc-c1f09bb90bf9

5화: 라이브 Q&A

지금까지 다룬 내용을 요약하기 위해, Chet Haase가 MDC 엔지니어링 팀원인 Dan Nizri, Connie Shi와 함께하는 Q&A 세션을 주최했습니다. 이번 에피소드에서는 개발자가 Twitter와 YouTube에 남긴 다양한 질문에 답한 답변이 담겨있습니다. 

https://youtu.be/OblMUJWJIf4

(이 동영상에 해당하는 문서는 따로 없습니다. 위의 링크를 따라 동영상을 시청해주세요.)

샘플 앱

시리즈 중에 우리는 두 가지 다른 샘플 앱을 사용해 MDC를 보여주었습니다.

  • “Material 테마 구축”(MaterialThemeBuilder라고도 함)는 색상, 타이포그래피, 모양에 대한 값을 사용자 지정하여 자체적인 Material 테마를 만들 수 있는 대화식 프로젝트입니다.

  • Reply는 Material 연구 중 하나로, Material Design 구성요소와 Material Theming을 사용하여 브랜드 이미지에 들어맞는 커뮤니케이션 환경을 만드는 이메일 앱입니다.

이 두 가지 샘플 앱은 모두 MDC 예제 GitHub 저장소에서 또 다른 Material 연구용 샘플 앱인 Owl과 함께 찾아볼 수 있습니다.

https://github.com/material-components/material-components-android-examples


작성자: Eric Bahna (Product Manager)

이 글의 원문은 여기서 확인 가능하며 블로그 리뷰에는 이승민(GDE)님이 참여해주셨습니다. 

지난 10월 Google은 개발자들이 내비게이션, 주차, 충전 등의 다양한 앱을 Android Auto로 가져와 선보일 수 있도록 Android for Cars App Library 베타 버전을 게시했습니다. 여러 개발자들이 앱 디자인, 개발, 테스트 작업에 크게 애써주신 덕분에 이제 다음 단계로 나아갈 준비가 되었습니다! 

이제 여러분은 Google Play Store에서 종료된 테스트 트랙에 앱을 게시할 수 있습니다. 이를 통해 여러분이 개발한 앱이 앱 품질 가이드라인에 얼마나 잘 부합하는지에 관한 피드백을 받고, Android Auto의 첫 사용자들에게 차량 내에서의 앱 경험을 확인할 수 있습니다.

Image of T mapImage of PlugShareImage of 2GIS

초기 액세스 파트너 3사: T map, PlugShare, 2GIS 


저희는 Play Store를 위한 공개 테스트 트랙을 준비하고 있습니다. 이제 여러분은 비공개 테스트에 게시해서 앱을 준비하실 수 있습니다. 여러분의 앱을 빨리 만나볼 수 있길 기대합니다.


 

작성자: Christopher Katsaros (Product Marketing Manager, Google)

이 글의 원문은 여기서 확인할 수 있으며, 블로그 리뷰에는 이승민(GDE)님이 참여해주셨습니다.


최근에 MAD Skills 시리즈를 통해 MAD(최신 Android 개발)에 관해 많은 얘기를 들려드렸습니다. 이제는 여러분의 MAD 점수는 몇 점인가요?를 살펴보실 차례입니다. 사용 중인 Jetpack 라이브러리 개수부터 앱에서 Kotlin으로 코딩된 부분의 비율까지, 여러분이 Android 개발자로서 최신 트렌드를 얼마나 따라가고 있는지 보여주는 MAD 스코어 카드를  선보입니다. (스코어카드에 대한 홍보 영상을 살펴보세요.) 


MAD 스코어카드는 Android Studio를 사용해 앱의 크기가 얼마나 줄어드는지 등 흥미로운 정보를 Android App Bundle을 통해 알려줍니다. 이 카드는 여러분이 어쩌면 사용 중일 수 있는 특정 Jetpack 라이브러리와 Kotlin 기능 등 주요 MAD 기술을 집중 조명합니다. 또한 (아마 여러분이 MAD 과학자 수준에 이르렀을 수도 있겠지만) 여러분의 MADdest 스킬을 토대로 특별한 MAD 캐릭터도 받으실 수 있습니다.


스코어카드 받는 방법

새로운 Android Studio 플러그인을 통해 개인 맞춤형으로 MAD 점수를 살펴볼 수 있습니다., 여러분의 스코어카드를 받고 공유하는 방법은 다음과 같습니다. 

  • 1단계 - 플러그인 설치: Android Studio의 플러그인 마켓플레이스를 통해 MAD Scorecard 플러그인을 찾아 다운로드합니다. Studio를 통해 쉽고 빠르게 설치합니다.
  • 2단계 - 플러그인 실행: 언제든 Studio 주 메뉴의 Analyze 아래에서 MAD Scorecard 플러그인을 찾으실 수 있습니다. Analyze를 클릭한 다음 Run을 클릭해 여러분만의스코어카드 만들어보세요.
  • 3단계 - 스코어카드 보기 및 공유: 플러그인 실행을 마치면 Studio에서 알림 메시지를 통해 스코어카드의 모든 세부 정보를 볼 수 있는 개인 링크를 받으실 수 있습니다. 결과를 확인하고 다른 분들과도 공유해보세요!

MAD Skills 시리즈로 레벨업하기

스코어카드 관련 작업을 마쳤다면, 이제 영상과 기사로 제공되는 MAD Skills 시리즈의 에피소드를 확인해보세요. 최신 MAD 기술을 사용해 더 나은 앱을 쉽게 만드는 방법을 알려드립니다. 탐색(Navigation), Kotlin, Android Studio에 대해 3주간 시리즈물로 제공되며, 각 주제를 마칠 때마다 Q&A 세션을 통해 여러분의 질문에 답해드립니다. 머티리얼 디자인 구성 요소, 앱 번들, 탐색과 같이 앞서 다룬 주제를 살펴볼 수 있으며, YouTube의 Android 개발자 Youtube 채널을 통해 앞으로 다룰 주제도 함께 살펴보실 수 있습니다.   


여기서 여러분의 MAD 스코어카드를 확인해보고, 친구분들과 공유해보세요!


작성자: Ben Weiss (개발자 관계 엔지니어)

원문은 여기서 확인 가능하며 블로그 리뷰에는 이승민(GDE)님이 참여해주셨습니다. 

Android 이미지

최신 Android 개발의 Android App Bundle 시리즈가 이제 막 끝났습니다. 라이브 Q&A 세션으로 시리즈를 마무리했습니다. 필자는 Chet Haase, Wojtek Kaliciński, Iurii Makhno와 함께 Twitter에서 #AskAndroid 해시태그로 검색되는 수많은 질문을 살펴봤을 뿐 아니라 라이브 스트리밍 중에 진행된 대화에서도 많은 질문을 받았습니다.

하지만 우선, 맨 앞으로 잠깐 돌아가 살펴봅시다.

Android App Bundle 소개

첫 에피소드에서는 Wojtek이 개발자 및 개발자가 만드는 앱에 App Bundle이 왜 중요한지를 설명하며 전체 시리즈의 색을 정합니다.

Play 앱 서명에 대해 알아야 할 모든 것

이 에피소드에서는 Wojtek과 함께 Play Console을 살펴보는 여정을 거치며 Play 앱 서명을 옵트인하는 방법을 배웁니다. 이 동영상을 통해 Play 앱 서명 옵트인 시 어떤 옵션이 사용 가능한지 알 수 있을 것입니다.

그 외에도 Play 앱 서명에 대한 FAQ, 앱 서명 Android 문서, Play Console의 Play 앱 서명 도움말 페이지도 살펴보세요.

첫 App Bundle 빌드

이제는 각자 최초로 Android App Bundle을 빌드하고 업로드하는 방법을 알아볼 차례입니다.

이 에피소드에서는 Android Studio와 명령줄 인터페이스를 사용해 번들을 빌드하는 과정을 안내합니다.

대신에, 이 에피소드에 대한 논평을 읽어볼 수 있습니다.

이 에피소드와 함께 App Bundle 문서도 살펴보세요.

Play 기능 제공을 위한 앱 구성

여기서는 제공 옵션에 대해 배우게 됩니다. 설치 시간부터 조건부 제공과 온디맨드 제공까지 다양한 옵션이 있는데, 그 모든 걸 다 설명합니다. 그리고 GitHub의 샘플을 함께 살펴보겠습니다.

이 에피소드는 개발자가 읽어봐야 할 문서로도 제공됩니다. 또한 PlayCore 가이드도 중요한 자료입니다.

Bundletool과 Play Console을 이용한 App Bundle 테스트

App Bundle을 어떻게 테스트할 수 있을지 궁금하셨나요? 그 궁금증을 속 시원히 풀어드립니다. Wojtek이 App Bundle을 로컬 위치와 Play Console에서 테스트하는 방법을 안내합니다.

함께 제공되는 문서Android App Bundle 테스트 가이드에서 이 에피소드의 내용을 읽어볼 수 있습니다.

또한 Play Console의 개발자 도구와 Play Console 도움말 페이지에서도 개발자에게 제공되는 내부 앱 공유에 관해 안내해드립니다.

Bundletool을 다운로드하려면 여기를 클릭하세요.

Android App Bundle로 큰 절감 효과 실현

Android GDE Angélica Oliveira가 자신의 회사가 Android App Bundle로 전환한 과정과 이를 통해 실현한 놀라운 수준의 크기 절감 효과에 대해 이야기 합니다.

라이브 Q&A 세션

Twitter에 궁금한 점을 남겨 달라고 부탁드렸는데요, 많은 분이 #AskAndroid 해시태그를 사용해 다양한 질문을 주셨습니다.

라이브 Q&A 세션 중에도 계속해서 많은 질문을 올려 주셨죠.

Chet이 라이브 Q&A에서 여러분의 질문에 답해 드리도록 Wojtek, Iurii 그리고 필자를 카메라 앞으로 불렀습니다.

알림: App Bundle은 2021년 8월부터 새로운 앱에 의무적으로 적용됩니다.

2021 API 레벨 격상과 App Bundle 요구 사항에 대한 자세한 내용을 읽어보세요.


최신 Android 개발 콘텐츠, 문서 갱신, AndroidX 릴리스, 문서, 팟캐스트 에피소드

작성자: Chet Haase (Software Engineer)

이 게시물의 원문은 여기서 확인 가능하며, 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다. 

Android 개발 분야의 새롭고 눈에 띄는 소식을 안내해드리는 'Now in Android'에 오신 걸 환영합니다.

최신 Android 개발

게시물 이미지

#MADScore 받기

MAD Skills 시리즈를 통해 여러분께 소소한 즐거움을 드리고, 또 다음의 질문에 답할 기회를 드리고 싶었습니다. 'MAD를 경험해보니 어떠셨나요?' 

이 질문에 대한 답은 Android Studio에 MAD Scorecard 플러그인을 설치하고 실행하시면 확인할 수 있습니다. 그러면 여러분의앱이 최신 Android 개발의 네 가지 주요 지표에서 몇 점을 받을지 카드로 볼 수 있고, #MADscore 해시태그로 Twitter에도 카드를 공유할 수 있습니다.더 자세한 내용은 MAD Score 사이트 Christopher Katsaros의 블로그에서 확인해 보세요.


MAD Skills: 머티리얼 디자인 구성 요소

한편, 최신 Android 개발에 관한 기술 콘텐츠와 함께 MAD Skills 시리즈가 계속 나오고 있습니다. 지난주에는 머티리얼 디자인 구성 요소에 관한 시리즈가 마무리되었습니다. 'Now in Android #30' 이후로 아래와 같이 3편의 에피소드가 더 게시되었습니다.

#4: Material Motion

네 번째 MDC 에피소드에서는 Nick Rout이 Material의 네 가지 모션 패턴과 이를 애플리케이션에 구현하는 방법에 관해 들려줍니다. Nick은 Reply 샘플 앱과 그 앱을 기반으로 하는 코드랩을 통해 실제로 어떤 식으로 작동하는지 보여줍니다.

#5 Zarah Dominguez의 커뮤니티 팁

다섯 번째 MDC 에피소드는 Google Developer Expert Zarah Dominguez가 진행했습니다. Zarah의 팀은 Material 카탈로그 앱을 어떻게 사용하는지에 대해 설명했으며,구성 요소를 구현하는 사례를 들어  실제로는 어떤 모습인지 또 소스 코드는 어떻게 생겼는지에 관해 보여주고자 했습니다.

#6: 라이브 Q&A

App Bundle과 Navigation에 관한 이전 시리즈와 마찬가지로 마지막 MDC 에피소드는 개발자 관계에 관한 MDC 전문가 및 머티리얼 엔지니어링 팀과 함께 진행하는 라이브 Q&A로 꾸며졌습니다. Twitter를 통해 많은 질문을 받았고 Q&A 중에 YouTube를 통해 실시간으로 들어온 질문도 많았습니다. 시간 제한상 모든 질문에 답해드리지는 못했지만.. 그래도 의미있는 진전이 있습니다.

MDC 시리즈의 콘텐츠에서 놓친 부분이 있더라도 Nick Rout이 이 요약 문서에 시리즈 내용의 개요를 정리해 두었으며 관련 샘플, 문서, 코드랩 등과 함께 참고할 만한 모든 영상과 문서에 대한 링크도 포함되어 있으므로 도움이 될 것입니다.

medium.comMAD Skills: Kotlin과 Jetpack

이번 주에 새로 나온 MAD Skills 시리즈의 주제는 Kotlin과 Jetpack입니다. 특히, 다수의 Jetpack API와 함께 Kotlin을 사용하는 방법에 관해 설명합니다. Florina Muntenescu가 그 내용을 이렇게 소개했습니다.

#1: KTX 사용

이 시리즈의 첫 번째 에피소드는 KTX의 사용에 관한 것으로, KTX는 다양한 플랫폼과 Jetpack 라이브러리를 위해 더 향상되고 간편해진 접근 방식을 제공하는 Kotlin 확장 프로그램이죠.  Florina는 플랫폼과 Jetpack API에서 예시를 통해 KTX에 관한 일반적인 사항을 설명하면서 LiveData와 ViewModel을 사용할 때 어떻게 사용하는지 보여줍니다.

아래 게시물에서도 살펴보실 수 있습니다. 

medium.com

#2: 코루틴(Coroutines)을 이용한 API 간소화

두 번째 에피소드에서는 Manuel Vivo가 Kotlin 개발자를 위한 기존 API 사용 환경을 개선하는 Kotlin 코루틴의 사용 방법을 설명합니다. 예를 들어, 코루틴으로 중첩된 콜백(nested callbacks)의 복잡성을 단순화하는 어댑터를 만들 수 있습니다. Manuel은 Fused Location Provider를 위한 더 단순한 API를 만드는 예를 들며 실제로 이 작업을 수행하는 방법을 보여줍니다.

아래 게시물로도 확인 가능합니다. 

medium.com

앞으로 몇 주간 새로 소개될 Kotlin/Jetpack 에피소드를 지켜봐 주세요. YouTube 재생목록뿐 아니라 Android Developers 게시물에서도 확인하실 수 있습니다.

YouTube의 MAD Skills 재생목록, Medium의 문서 또는 그 모든 정보를 보여주는 웹페이지에서도 앞으로 계속 이어질 콘텐츠를 확인해 보세요.

문서화권한

게시물 이미지

Android에서 권한 사용을 위한 상위 레벨 워크플로

사용자 컨트롤과 사용자 데이터의 투명성에 계속 초점을 맞추고 있으므로, 지난 몇 차례의 릴리스에서 권한에 여러 가지 변화가 있었습니다. 최신 업데이트 및 동작 변경 사항을 따라가려면 개발자의 작업이 수반되므로, 그 과정에 도움을 드리고자 문서화 작업을 하고 있습니다.

이런 노력의 일환으로, 최근에 Android 권한 가이드를 몇 가지 개선했습니다. 현재 이 사이트는 앱에서의 권한 사용과 관련된 모범 사례와 더불어 권한의 작동 방식에 관한 더 간소화된 지침을 제공합니다. 특히, 권한을 실제로 선언해야 할지 평가해야 하는데, 많은 일반적인 사용 사례에서는 필수 사항이 아닙니다.

Room의 DAO

API의 여러 기능 중 일부의 사용법을 명확히 설명하기 위해 몇 가지 Room 라이브러리 가이드를 개편했습니다.

Room에서 DAO(Data Access Object) 사용은 내장된 쿼리 메서드뿐 아니라 @Query 주석을 사용하는 사용자 지정 메서드의 사용을 비롯하여, DAO 인터페이스 사용의 개요를 설명합니다.

비동기 DAO 쿼리 작성은 UI 스레드에서 발생하는 쿼리의 작성 방법에 대한 자세한 내용을 다루는데, 이는 데이터베이스 상호 작용을 위해 거의 필수적인 사항입니다. 이 가이드에서는 언어와 비동기 API 기본 설정에 따라 사용할 수 있는 여러 가지 대안을 살펴봅니다.

AndroidX

다양한 AndroidX 라이브러리에서 최근에 발표된 수많은 알파, 베타 및 RC 릴리스 중에 다음과 같은 안정적 릴리스가 있었습니다.

  • Browser 1.3.0: 이 최신 릴리스에서는 Trusted Web Activity API를 사용하여 자유 형식 명령어를 전달하는 기능과 함께 사용자 지정 탭에서의 색 설정 개선 사항과 같은 다른 기능도 제공됩니다.

  • Media2 1.1.0: 이 릴리스에는 미디어 트랙을 처리하고 AndroidX Media 라이브러리와의 상호 운용성을 위한 추가 API와 함께, 많은 버그 수정 사항이 있습니다.

  • WearInput 1.0.0: WearInput의 첫 번째 버전에서는 WearableButtons를 위한 지원을 AndroidX 라이브러리에 제공합니다.

Exifinterface 1.3.2, Media 1.2.1, Navigation 2.3.2를 포함한 몇몇 안정적인 버그 수정 릴리스도 있었습니다.

Android Studio

게시물 이미지

Jamal Eason은 게시글을 통해 Android Studio의 다음 릴리스인 Arctic Fox가 현재 Canary 채널에서 제공되고 있으며 사용해 볼 준비되어 있다는 사실을 알려주었습니다. 이 릴리스에서 가장 먼저 눈에 띄는 점은 새로운 명칭 및 버전 관리 체계인데, 이 문서에서 자세히 설명합니다. 그 외에도, 이 릴리스에는 wifi 디버깅을 위해 기기와 페어링하기 위한 UI(현재는 MacOS만 해당), 레이아웃 유효성 검사 도구, Jetpack Compose 개발을 위한 지속적인 지원 등이 포함되어 있으니 확인해 보시길 추천드립니다. ( 현재 very  early 상태에서 Compose로 작업하려면 항상 Studio의 Canary 버전을 사용해야 합니다.)

android-developers.googleblog.com

또한, Murat Yener가 Android Gradle 플러그인의 새로운 알파 릴리스인 버전 7.0.0-alpha01에 관해 쓴 글에서 Android Studio에 새로 도입된 기능을 소개하기도 했습니다. AGP도 버전명이 변경되었음을 기억해 주세요. AGP는 Android Studio 버전과 결합되는 대신, 이제부터는 Gradle 릴리스 버전을 따르게 될 것입니다. 때문에 이 버전이 현재 4.2 릴리스 이후로 두어 차례의 버전을 건너뛰거나 잊어버린 것처럼 보였던 거죠. 이 글에서는 최근 AGP 4.2에서 이루어진 API 변경 사항 몇 가지도 소개합니다.

android-developers.googleblog.com문서와 영상ListAdapter

Meghan Mehta가 RecyclerView에 관한 시리즈에 또 다른 게시글을 추가했습니다. RecyclerView가 새로 나온 것도 아니고 대부분의 Android 개발자가 아마도 앱에서 이미 사용하고 있을테지만, 일부 기본 기능에 대한 문서와 예시를 찾기 어려웠습니다. 그래서 Meghan이 해당 기능의 사용법을 설명하고 실제로 어떤 식으로 작동하는지 보여주는 샘플 코드를 제시했습니다.

최근에 올린 글에서, Meghan은 주로 더 나은 성능과 자동 아이템 애니메이션을 비롯해 RecyclerView를 위한 훌륭한 기능을 쉽게 활용하는 방법을 제공하는 ListAdapter의 사용에 관해 설명합니다. ListAdapter는 DiffUtil을 사용하여 발생한 특정 변경 사항을 확인하는데, 이는 RecyclerView가 최적의 성능과 애니메이션을 위해 필요합니다.

medium.com성능

저는 최근 버전 1.0에 이른 AndroidX 라이브러리인 App Startup에 관한 두 편의 시리즈를 통해 시작 성능에 대한 탐구를 이어왔습니다. 1부에서는 어떻게 content providers를 인스턴스화(instantiate libraries)하는데 자주 사용하는 방식과그로 인해 애플리케이션 시작 시간에 미치는 숨겨진 영향이 드러날 수 있는지 살펴봅니다.

medium.com

2부에서는 App Startup 라이브러리를 사용하여 숨겨진 content providers를 제거하고, 그 대신 라이브러리를 지연 초기화하기 위한 요청을 풀링하는 방법을 알아봅니다. 

medium.com위치, 위치, [더 나은 GPS] 위치

Android Developers 블로그에는 도시에서 더 정확한 위치 정보를 가져올 수 있도록 하기 위해 위치 시스템과 API에 추가한 개선 사항을 자세히 설명하는 글이 있습니다. 이 글에서는 도시에서 GPS 위치를 도출하는 문제를 설명하는데, 여기서 가시선을 사용하는 GPS 기술의 기본 가정이 높은 건물에 반사되어 튕겨 나오는 신호로 인해 오차가 발생합니다. (Tor와 필자는 위치 팀의 Marc Stogaitis와 함께 2014년에 진행했던 ADB 팟캐스트 대담: “도시 협곡”이라는 현상에서 이 문제에 관해 토론한 바 있습니다.)

위치 담당팀은 주요 도시의 3D 빌딩 모델을 통합해 훨씬 더 정확한 위치 결과를 얻었습니다. 현재 일부 Pixel 기기에서 이 기술의 버전 2를 사용할 수 있습니다. 이전 버전은 이미 더욱 폭넓은 생태계에서 사용 가능하며, 이번 최신 버전 역시 내년 초에는 비슷한 수준으로 널리 사용될 것입니다.

물론, 이 모든 것은 사용자 기능이며 'Now in Android'은 개발자를 위한 공간입니다. 하지만 필자는 첫째로는 이 문서와 기술이 흥미롭다는 사실을 알았고, 둘째로는 이처럼 향상된 위치 데이터에 액세스하기 위해 Fused Location Provider (FLP)를 사용하는 개발자 콜아웃이 있기 때문에 여기서 언급하고 싶었습니다.

또한, FLP에는 단순히 현재 위치를 물어서 결과를 얻는 방법과 지속적인 위치 변화를 알려주는 구독 기능을 이용한 다음에 첫 번째 결과를 얻은 후 구독 취소하는 방법으로 현재의 위치 정보를 훨씬 더 쉽게 얻을 수 있는 새로운 API도 있습니다. FLP의 getCurrentLocation() API에 대한 문서, 새로운 CurrentLocationKotlin 샘플, 더 자세한 정보를 담은 문서를 참조하세요.

android-developers.googleblog.comJetpack Compose 마이그레이션

Chris Banes는 자신의 앱 Tivi를 현재의 UI Toolkit을 사용하는 앱에서 Jetpack Compose를 사용하는 앱으로 마이그레이션하고 있습니다. Chris는 현재 전체 UI를 Compose로 작성했고 마이그레이션의 주요 부분을 마쳤으며, APK 크기(훨씬 더 작아짐!), 메서드 개수(적어짐!), 빌드 시간(약간 더 짧아짐!)에 관해 몇 가지 흥미로운 결과를 보고하기 위해 다시 나타났습니다.

medium.comCameraX의 CameraController

CameraX의 CameraView API는 UI와 컨트롤러 로직을 둘 다 처리하느라 너무 많은 부담을 안고 있었습니다. 그래서 해당 로직은 PreviewView와 새로운 CameraController 클래스로 리팩토링되었습니다. 이 글에서는 CameraController를 사용하는 방법 및 해당 기능과 이전에 CameraView에서 사용했을 기능의 비교 결과를 설명합니다.

medium.com팟캐스트 에피소드

게시물 이미지

지난번 'Now in Android' 이후로 Android 개발자 백스테이지 에피소드가 새로 업로드되었습니다. 아래 링크를 클릭하거나 즐겨 이용하시는 팟캐스트 플랫폼에서 이번 회차를 들어보세요. (영문)


ADB 153: Ok, Ok, Ok

Romain Guy, Tor Norbye 그리고 필자는 Square의 Jesse Wilson과 함께 OkHttp, Okio, [Ok]Moshi를 비롯해 Jesse가 작업한 몇몇 인기 오픈소스 라이브러리에 대한 얘기를 나누었습니다. 우리는 이들 라이브러리와 기타 여러가지, Android, 라이브러리, 프레임워크, Kotlin 개발 등에 관해 얘기했습니다. 그리고 일부 엔지니어가 기능 요청이나 사소한 문제를 새로운 오픈소스 라이브러리를 만드는 프로젝트로 바꾸어 놓는 고약한 습관을 가지고 있습니다.

androidbackstage.blogspot.com마무리이번 회는 이것으로 마치겠습니다. 이제 MAD 스코어카드를 받아보세요! 자세한 MDCKotlin/Jetpack 콘텐츠에 관해서는 MAD를 살펴보세요! 최신 권한Room 문서를 읽어보세요! 최신 AndroidX 안정적 릴리스를 다운로드하세요! ListAdapter, 시작 성능, 개선된 GPS 위치, Jetpack Compose 마이그레이션, CameraController에 관한 새로운 글을 읽어보세요! 그리고 최신 ADB 팟캐스트를 들어보시고, Android 개발자 커뮤니티의 다음 업데이트 정보를 확인하세요.