본문 바로가기

Android34

Google I/O '21 Google I/O '21을 진행한지 기간이 조금 지났지만, 늦게나마 일부 내용을 정리해두려고 한다. 이 글의 밑 쪽에 관련 영상과 문서의 링크가 추가되어 있다. 이 글은 어떤 내용들이 있는지를 간략하게 정리해두고, 필요하거나 관심이 있는 내용들을 파악해서 어떤 것을 더 찾아봐야할 지 결정할 수 있도록 하는 데 목적을 둔다. What's new in Android Android 역사상 가장 큰 규모로 디자인이 변경되었다. 색상, 모양, 빛, 모션에 이르기까지 모든 환경이 새롭게 디자인되었다. 유저 인터페이스 먼저, 색상에 많은 신경을 썼는데 사용하는 시스템 색상 팔레트를 더 풍부하고 폭넓게 제공하여 유저가 배경화면이나 색상을 선택함에 따라 앱에서 사용하는 색상도 자동으로 맞춰져서 동작할 수 있다. 물론 .. 2021. 6. 20.
Android Shortcuts (안드로이드 앱 숏컷) - 3. 관리하기 Shortcut을 만들고 나서, 앱이 업데이트 되는 동안 만들었던 Shortcut들을 관리해줘야 하는 경우가 생길 수 있다. 한 가지 경우를 예로 들면, 앱이 업데이트 되면서 더 이상 제공하지 않는 기능이 pinned shortcut으로 있다면 이를 비활성화 시킬 수 있다. 이번 포스팅을 통해 Shortcut을 관리하는 방법과 Shortcut에 대한 잡다한 정보들에 대해 정리해본다. Shortcut 동작 LauncherApps 클래스의 API를 통해 런처 앱은 shortcut들에 접근할 수 있다. Pinned Shortcuts는 런처 자체에 보이기 때문에 항상 표시되는데 다음과 같은 경우에만 런처에서 제거된다. 사용자가 제거 Shortcut과 연결된 앱이 제거 App Data를 지울 경우 Shortcut.. 2020. 8. 31.
Android App Shortcuts (안드로이드 앱 숏컷) - 2. 만들기 이번 포스팅에서는 앱을 만들 때 Shortcut을 어떻게 구현하는 지에 대해 알아본다. 지난 포스팅에서 언급한 것처럼 Shortcut의 종류는 Static, Dynamaic, Pinned Shortcut 세 가지가 있다. Shortcut으로 콘텐츠를 제공하는 방법은 context가 앱 기반인지 사용자 기빈인지와 use case에 따라 다르다. Context가 변경되지 않는 경우에는 Static Shortcut, Context가 변경되는 경우에는 Dynamic Shortcut을 사용하면 된다. 하지만 이 두 가지 경우 모두 Context는 앱에 의해 동작한다. Pinned Shortcut은 사용자가 Context를 정의하게 된다. 어떻게 구현하는 지에 대해 알아보기 전에 먼저 각각의 경우를 조금 더 알아봐.. 2020. 8. 31.
Android App Shortcuts (안드로이드 앱 숏컷) - 1. 기본 개념 App Shortcuts 구글은 안드로이드 앱에서 특정 작업을 수행할 수 있는 바로가기(shortcut)을 정의할 수 있도록 하고 있다. 안드로이드 앱을 꾹 눌러 보면 위의 화면처럼 앱 내의 특정 작업을 할 수 있는 화면으로 바로 이동시켜주는 리스트를 볼 수 있다. 이를 Shortcut(바로가기)라는 이름으로 부른다. 이번 시리즈에서는 이러한 바로가기를 어떻게 만들고 관리할 수 있는지에 대해 정리해보려 한다. 원래 하나의 포스팅으로 쓰려 했는데 글이 길어져서 먼저 이번 포스팅에서는 shortcut의 종류와 개념에 대해서 간단히 정리하고 만들고 관리하는 방법에 대해서는 추가로 포스팅하기로 했다. Shortcut types (바로가기 타입) Static Shortcuts Dynamic Shortcuts Pi.. 2020. 8. 31.
Android Room - RxKotlin과 함께 쓰는 방법 지난 포스팅들에서 Room에 대해 배워보고 Coroutine, RxKotlin, LiveData와 함께 사용할 수 있다는 것을 알았다. 최근에 올렸던 Coroutine과 함께 사용하는 방법에 이어서 RxKotlin과 사용하기 위해서 어떻게 해야 하는지, 어떻게 사용하는지에 대해 이번 포스팅에 대해서 알아본다. Dependency Coroutine의 경우와 마찬가지로, Room을 RxKotlin과 함께 사용하기 위해서도 dependency를 추가해줘야 한다. 먼저, 모듈의 build.gradle 파일에 Kotlin annotation plugin을 추가해준다. build.gradle 파일의 상단 부분에 위와 같이 작성하여 플러그인을 추가한다. dependencies block에는 위의 세 줄을 추가해주기만.. 2020. 6. 10.
Kotlin (코틀린) Coroutine의 Flow 결합 방법 Kotlin(코틀린)의 Coroutine(코루틴)에는 Flow라는 것이 있다. Flow를 잘 모른다면 일단 RxKotlin에서의 Observable과 유사하다고 생각하면 된다. 이번 포스팅에서는 이러한 Flow들을 결합해서 사용하는 방법에 대해 정리할 예정이다. Coroutine은 Flow를 결합하기 위해 combine(결합), zip(압축), flattenMerge의 세 가지 연산자를 제공해준다. 이 세 가지에 대해 각각 알아보자. 결합 (Combine) 연산자 먼저 combine 연산자에 대해서 살펴보자. Flow의 extension 함수인데 결합을 위해 다른 Flow를 인자로 받는다. 두 번째 인자로는 람다 suspend 함수를 받는데, 두 Flow (기존 Flow와 인자로 준 Flow)에서 emi.. 2020. 6. 8.