Google Play Instant 개요

Overview of Google Play Instant Android 5.0 (API 21) 이상의 기기에서는 Google Play Instant를 사용하면 네이티브앱과 게임을 설치하지 않고도 실행됩니다. Android Studio를 사용하여 인스턴트 앱 및 인스턴트 게임이라고 불리는 유형을 만들 수 있습니다. 즉각적인 경험을 제공하는것으로 알려진 인스턴트 앱 또는 인스턴트 게임을 사용자가 실행할 수 있게 함으로써 앱 또 게임 더보기…

Dynamic Delivery를 지원하는 앱 만들기

https://developer.android.com/studio/projects/dynamic-delivery를 번역한 내용입니다. 다이나믹 딜리버리란? 다이나믹 딜리버리(Dynamic Delivery)라는 구글 플레이의 앱 제공 모델은 Android App Bundles를 사용하여 최적화된 APK를 각 사용자 디바이스환경에 맞춰 생성하고 제공하므로 사용자들은 앱실행에 필요한 코드와 리소스만 다운로드합니다. 다양한 장치를 지원하기 위해 더 이상 여러개의 APK를 빌드, 서명 및 관리 할 필요가 없으며 사용자는 더 작고 최적화 더보기…

RecyclerView에 Selection 라이브러리를 사용하기

Selection RecyclerView를 구현하고 다중 선택 기능을 추가 하기 위해서는 Selection 라이브러리를 사용할 수 있습니다. 안드로이드 내의 사진들을 Grid형식으로 구성하고 Selection으로 다중 선택하는 예제를 만들어 보도록 하겠습니다 Selection 구현하기 의존성 추가하기 //androidx 를 쓰지 않는다면 implementation “com.android.support:recyclerview-selection:28.0.0” or //androidx를 쓴다면 androidx.recyclerview:recyclerview-selection:1.0.0 Key타입 결정하기 Selection라이브러리는 3가지 타입의 Key타입을 지원합니다. Parcelable String Long 더보기…

언어 변경과 AndroidViewModel 안티패턴

https://medium.com/androiddevelopers/locale-changes-and-the-androidviewmodel-antipattern-84eb677660d9을 번역한 글입니다. ViewModel은 화면회전이나 언어 변경에 의한 액티비티 재생성에서도 다시 생성되지 않고 이전 인스턴스가 그대로 남아 유지 되는 특징이 있습니다. 시스템 언어 변경을 하기전에 아래의 ViewModel코드를 보도록 하곘습니다. //이렇게 코드를 짜지 마세요 public class MyViewModel extends AndroidViewModel { public final MutableLiveData<String> statusLabel = new MutableLiveData<>(); public SampleViewModel(Application context) { 더보기…

[Android] Annotation Processor 만들기

Annotation이란 ? 애노테이션이란 무엇일까요? 사실 우리 모두가 이미 정의된 애노테이션을 쓰고 있습니다. 예를 들면, @Override 어노테이션을 사용하여 메소드를 재정의하고 싱글톤 패턴을 사용하기 위해 @Singleton을 사용하고 @NonNull, @StringRes, @IntRes 등과 같은 애노테이션을 사용합니다. 이러한 각가의 애노테이션에 대해서 설명하고자 하는건 아닙니다. 새로운 애노테이션을 만들고, 또 동작하는 원리에 대해서 알아보고자 합니다. 애노테이션은 자바 더보기…