Activity vs Fragment, 무엇을 선택해야 할까?

Activity vs Fragment, 무엇을 선택해야 할까? 프레그먼트(Fragment)를 처음 도입한것은 2011년 2월 에 등장한 Android 3.0(Honey comb, API11) 부터다. 안드로이드 등장 초기부터 함께 했기 때문에 프레그먼트를 모르는 안드로이드 개발자는 없을 것으로 생각된다. 하지만, 어떤 UI/UX를 구현하기전에 의문이 들때가 있다. “액티비티(Activity)와 프레그먼트 더보기…

액티비티 결과 처리하기 (Good bye… startActivityForResult, onActivityResult)

액티비티(Activity)는 안드로이드의 주요 컴포넌트 중 하나로 애플리케이션에서 필수적으로 사용된다. 2007년, 안드로이드가 등장한 뒤로 액티비티간에 데이터(인텐트)를 전달하고, 결과를 처리할 때 개발자는 startActivityForResult()의 호출과 onActivityResult(requestCode, resultCode, data) 콜백호출을 다뤄왔다. 새로운 액티비티 결과(Activity Result) API는 지금까지 해오던 방법을 개선하여 완전히 새로운 액티비티 결과 더보기…

MergeAdapter 미리보기

20.07.30 추가내용 MergeAdapter가 ConcatAdapter로 명칭이 변경 되었습니다. MergeAdapter란? MergeAdapter는 20년 4월 1일에 배포된 recyclerview:1.2.0-alpha02에 포함된 새로운 클래스로 여러개의 Adapter를 순차적으로 결합시켜 단일 RecyclerView에 표현할 수 있도록 도와준다.  일반적으로 Adapter를 구현할 때 여러 데이터 소스를 결합한 형태의 자료구조(ex. ArrayList) 를 가지고 더보기…

안드로이드에서 blur효과 구현하기 : 성능 개선 및 LiveBlur 구현하기

안드로이드에서 blur효과 구현하기 : 성능 개선 및 LiveBlurView 구현하기 이번 포스팅은 지난시간에 다룬 Box Blur와 StackBlur편에 이어 세번째 이야기입니다. 스택블러(Stack Blur)는 2Pass 전략을 사용하여 빠른 이미지 프로세싱 시간과 품질을 보장한다. 스택블러 알고리즘과는 별개로 안드로이드에서 조금 더 성능을 개선하는 방법에 대해서 더보기…

아키텍처를 알아야 앱 개발이 보인다:Dagger2, Jetpack, RxJava를 통한 안드로이드 클린 코드 설계 출간

  책소개 설계부터 유지 보수까지 튼튼하고 유연한 안드로이드 애플리케이션 만들기 안드로이드 앱 시장이 성숙하고, 서비스가 고도화됨에 따라 앱 설계에 대한 중요성이 강조되고 있다. 안드로이드 앱 설계의 핵심 목표는 앱의 성능, 안정성, 유지 보수 용이성을 높이는 것이다. 이를 위해서는 Dagger2, Jetpack, 더보기…

안드로이드에서 blur효과 구현하기 : Gaussian Blur, Stack Blur

안드로이드에서 blur효과 구현하기 : Gaussian Blur, Stack Blur 이번 포스팅은 지난시간에 다룬 안드로이드에서 blur효과 구현하기 : Box Blur에 이어 두번째 포스팅입니다. 박스블러(Box Blur)는 radius값에 따라 연산량이 많아지는 문제가 있었지만, 연산방법을 개선하여 이미지 처리 시간 문제를 해결했다. 하지만 blur의 품질은 여전히 더보기…

안드로이드에서 blur효과 구현하기 : Box Blur

안드로이드에서 blur효과 구현하기 안드로이드 SDK에서는 Blur에 관한 API를 제공하고 있지 않기 때문에 일반적으로 라이브러리를 사용하여 구현하게 된다.  Blur 효과를 구현하기 위해서는 이미지를 구성하는 픽셀에 대해서 먼저 알아야 한다. 픽셀(Pixel)이란? 픽셀은 화소라고도 하며 화면 또는 이미지를 구성하는 가장 기본이 되는 단위다. 더보기…

안드로이드 스튜디오에서 Java 앱 모듈 만들기

자바 애플리케이션을 개발할 때 이클립스를 많이 사용하는데, 간단한 앱을 만들거나 모듈을 테스트 해보기 위해 안드로이드 스튜디오를 사용할 수도 있다. 다음의 순서를 따라 콘솔에 “Hello World”를 출력하는 실행 가능한 애플리케이션을 만들자 기존 프로젝트를 불러온거나 새로운 안드로이드 스튜디오 프로젝트를 생성한다. 프로젝트 패널 더보기…

프로젝트에 Dynamic Feature Module 적용 후기

Dynamic Feature Module 적용 후기 다이내믹 피쳐 모듈이란? 다이내믹 피쳐모듈 (Dynamic Feature Module, 이하 DFM)을 사용하면 베이스 모듈(일반적으로 app모듈)로부터 특정 기능과 리소스를 분리하여 App Bundle에 포함시킨다. 그런 다음 Dynamic Delivery 를 통해 안드로이드 5.0 이상을 실행하는 기기가 앱의 기능을 다운로드하는 더보기…

D8, R8 그리고 enum 이야기

D8 과 R8 안드로이드에서는 대표적인 세가지 컴파일러가 있다 코틀린 or 자바 컴파일러 D8 R8 우선,  코틀린(또는 자바) 컴파일러는 코틀린(또는 자바) 코드를 자바 프로그래밍 바이트코드로 변환한다.  하지만, 우리는 이 바이트 코드를 안드로이드기기에서 실행할 수 없다. 안드로이드에서는 바이트코드 대신 DEX 코드라고 불리는 더보기…