Android CameraX 라이브러리 미리보기

CameraX는 Jetpack에 포함된 서포트 라이브러리로 카메라 앱 개발을 쉽게 할 수 있도록 도와 줍니다. 특징 Camera2를 사용하므로 Android 5.0 (API level 21)까지만 지원 유즈케이스 기반으로 설계되어 Preview, Image Processing, Image Capture 유즈 케이스 동시 더보기…

안드로이드 카메라 스트림 동시에 여러개 사용하기

안드로이드 카메라 스트림 동시에 여러개 사용하기 이 포스팅은 다음과 같은 내용을 포함합니다. 하나의 카메라로 여러개의 스트림을 동시에 사용하는것 하나의 캡쳐 리퀘스트로 다른 속성을 가진 타겟들을 결합하는것 출력타입, 출력사이즈, 하드웨어 수준을 선택하고 조회하는 방법 SurfaceView와 ImageReader의 더보기…

DataBinding을 사용시 TextView의 텍스트가 변경되지 않는 경우

LiveData와 DataBinding을 이용하여 동적으로 TextView의 Text를 변경하는 로직을 적용했습니다. 예를들면, “Hello World” 를 “Hello Charles”는 것과 같이 단순한 변경이였습니다.

실제 위의 코드는 동작하는데 아무이상이 없었습니다. “Hello World”에서 “Hello World”로 텍스트의 일부 색상만 바꾸면 더보기…

[OpenGL] 1. Android OpenGL ES의 개요

OpenGL ES란? Android는 높은 퍼포먼스를 필요로 하는 2D,3D 그래픽스를 위해 OpenGL ES(Open Graphics Library for Embeded System)를 지원합니다. OpenGL은 3D 그래픽 처리 하드웨어에 대한 표준 소프트웨어 인터페이스를 지정하는 크로스 플랫폼 그래픽 API이며, OpenGL ES는 안드로이드와 더보기…

Koin과 함께 하는 안드로이드 의존성 주입

Introduction Koin은 코틀린 개발자를 위한 실용적인 API제공을 하는 경량화된 의존성 주입 프레임워크입니다. (자바 개발자 또는 의존성 주입에 대해서 알고 싶다면 Dagger 포스트를 참조해주세요)  순수 코틀린으로만 작성되어있으며 프록시, 애노테이션 프로세싱을 통한 코드 생성, 리플렉션을 사용하지 않기 더보기…

안드로이드 단위 테스트 (1)

소프트웨어 개발에서 테스트는 종종 저평가 되거나 무시되버리곤 한다. 모바일앱에서 테스트 코드를 하나도 작성하지 않고 앱을 출시하는 경우도 허다 합니다.   대부분 개발자가 유닛테스트를 적용하지 않는 이유는? 모바일 앱은 프론트앤드니까 대부분은 백엔드에서 테스트해야 되지! 모바일은 유닛테스트부분에서는 더보기…

디폴트 값과 자바 (@JvmOverloads)

자바에는 디폴트 파라미터 값이라는 개념이 없다. 그러므로 오버로딩한 메소드가 많아지는 경우가 있다.   코틀린에서는 적용된 디폴트파라미터 예제

위함수를 호출하는경우 foo(123) //디폴트파라미터는 생략가능 foo(123, “test”) // 디폴트값이 있으나 test로 덮어씌움 foo(param2=””, param1= 123) // 파라미터 더보기…

RecyclerView를 iOS의 UIPickerView 처럼 fade-in, fade-out 적용하기

롤리팝 출시 이후로 RecyclerView가 도입되고 AdapterView를 커스터마이징 하기가 편해졌다. 오늘은 UIPickerView 스타일로 RecyclerView의 투명도를 주고 싶어서 레이아웃매니저를 다음과 같이 적용했다.

코틀린이란 무엇인가? 왜 필요한가?

코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 코틀린은 간결하고 실용적이다. 자바코드와의 상호운용성(interoperability)을 중시한다. 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 동작하며, 성능도 자바와 비슷한 수준이다 대상플랫폼은 서버, 안드로이드 등 자바가 실행되는 모든 곳이다. 코틀린의 주목적은 더보기…

[Kotlin Basics] Returns and Jumps

Returns and Jumps 코틀린은 3가지 구조적 jump 표현식을 갖는다. return : 기본적으로 가장가깝게 둘러싸고 있는 함수 또는 익명 함수로 부터 리턴한다. break : 가장 가깝게 둘러싸고 있는 루프를 종료한다 continue : 가장 가깝게 둘러싸고 있는 더보기…