Jetpack에 새롭게 추가된 점(2019.05.08)

CameraX(알파버전) 카메라 관련 앱 개발은 어렵습니다. 또한 API21(롤리팝)을 기점으로 Camera 와 완전히 다른 Camera2 API로 분기 되어 개발자를 비명지르게 만듭니다. 새로운 CameraX 라이브러리르 이용하면 기본 적인 동작에 대한 걱정없이 애플리케이션을 개발 할 수 있게 된다고 합니다.  코루틴과 함께 하는 LiveData 그리고 Lifecycles(알파버전) 코루틴을 이용하여 동시성을 가진 작업을 처리할 수 있습니다. Lifecycle 더보기…

글쓴이 Charlezz,

Google Play Instant 개요

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

글쓴이 Charlezz,

Dynamic Delivery를 지원하는 앱 만들기

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

SingleLiveEvent로 이벤트 처리하기

AAC lifecycle컴포넌트의 등장과 함께 MVVM패턴이 다소 변경되었습니다. 기존의 방식은 다음 그림과 같습니다. Activity와 ViewModel의 의존성을 분리하고 ViewModel은 Navigator를 이용하여 Activity에게 이벤트를 전달합니다. Navigator의 구현체는 보통 Activity가 되곤했었습니다. BaseObservable을 상속받아 ViewModel을 만들면 데이터바인딩 라이브러리와 궁합도 잘맞습니다. 그런데, AAC ViewModel을 사용하고 부터는 이 패턴을 사용할 수 없게 되었습니다. Caution: A ViewModel must never reference a 더보기…

안드로이드 VectorDrawable 알아보기

VectorDrawable 이전 포스트에서 Vector 이미지 포맷을 이용했을때의 장단점에 대해서 알아보았습니다. 이번 시간은 안드로이드 리소스인 VectorDrawable에 대해서 알아보도록 하겠습니다. xml 파일에서 <vector> 요소를 정의하는것을 통해 벡터 그래픽 방식의 drawable 파일을 생성 할 수 있습니다. Notice: 다시 그리는 퍼포먼스의 최적화를 위해 각 VectorDrawable에  대해 하나의 비트맵 캐시가 생성됩니다. 따라서 동일한 VectorDrawable을 참조한다는 것은 더보기…

Samsung Galaxy Foldable Emulator로 테스트 해보기

Testing with Foldable Emulator 테스트하기 앱 개발자는 접이식 환경에서 앱이 어떻게 반응하는지 테스트 할 수 있습니다. 이를 통해 응용 프로그램 연속성 및 다중 재개를 위해 제공되는 에뮬레이션 환경을 사용하여 올바르게 수행되었는지 확인할 수 있습니다. 앱 연속성 Android Studio 및 Android 태블릿에서 AVD (Android 가상 장치)를 실행할 수있는 에뮬레이터 앱이 제공되어 더보기…

Back 버튼이 Android Q 에서 부터는 없어질 수 있습니다.

Apple이 iPhoneX 부터 홈버튼을 없앴죠 Android Pie 부터는 안드로이드도 Home버튼에 제스쳐 기능을 넣어서 아이폰과 유사한 기능을 사용할 수 있게 되었었습니다. Android Pie에서 제스쳐 홈버튼 활성화 하는방법 일반: 설정 – 시스템 – 제스쳐 – 위로 스와이프하여 홈버튼 – 활성화 삼성 갤럭시 기준: 설정 – 디스플레이 – 네비게이션바 – 네비게이션 스타일 – 더보기…

글쓴이 Charlezz,

ViewPager2 톺아보기

Released ViewPager2! 구글이 ViewPager를 2011년에 릴리즈한 이후로 새로운 버전인 ViewPager2(알파버전)를 릴리즈 했습니다.  많은 개발자들이 페이지단위의 기능을 구현하기 위해 이 컴포넌트를 사용하고 있습니다.  많은 개발자들이 사용한다고 해서 사용하기 쉬운 컴포넌트는 아닙니다. ViewPager를 만들기위해서는 Adapter도 구현해야하며, 어떤 어댑터를 구현해야할지 항상 고민하게 됩니다. FragmentPagerAdapter를 써야할지 또는  FragmentStatePagerAdapter써야하는지 말이죠. 그리고 Fragment를 꼭 사용해야하는지도… New 더보기…

Android Custom View(커스텀 뷰) 만들기

커스텀 뷰 만들기 커스텀뷰는 왜 필요할까? 안드로이드 프레임워크에서 기본 제공되는 위젯들로는 Button, TextView, EditText, ListView, CheckBox, RadioButton, Spinner 등이 있고 레이아웃으로는 LinearLayout, FrameLayout, RelativeLayout 등이 있습니다. 하지만 실제로 앱을 만들다 보면 기획자, 디자이너, 사용자(클라이언트)의 요구사항에 맞는 기능을 위의 열거한 뷰들로 만들기 어렵거나 불가능한 경우가 부지기수입니다.  예를들면, 원형 썸네일을 표현하기 위한 더보기…

글쓴이 Charlezz,

Android Profiler로 네트워크 디버깅 하기

안드로이드 스튜디오가 3.3으로 업데이트 됨에 따라 Android Profiler 기능이 개선되었습니다. 이전에는 네트워크 프로파일러의 페이로드의 Raw텍스트만 표시되었는데 JSON, XML, HTML 형식을 지원합니다. View Parsed 또는 View Source를 클릭해서 서식있는 텍스트와 Raw텍스트를 번갈아가며 확인할 수 있습니다. Charles보다는 기능이 약하긴 하지만, 프록시 붙이는 작업이 없어서 편하네요(잠금화면, 인증서설치 등) 그 외 JSON이 구조화되어서 보이지 더보기…