[OpenGL] 1. Android OpenGL ES의 개요

OpenGL ES란? Android는 높은 퍼포먼스를 필요로 하는 2D,3D 그래픽스를 위해 OpenGL ES(Open Graphics Library for Embeded System)를 지원합니다. OpenGL은 3D 그래픽 처리 하드웨어에 대한 표준 소프트웨어 인터페이스를 지정하는 크로스 플랫폼 그래픽 API이며, OpenGL ES는 안드로이드와 같은 임베디드 장치를 위한 가볍고 쉬운 API를 제공합니다. 또한 Android는 여러 버전의 OpenGL ES API를 더보기…

안드로이드 버전별 백그라운드 정책

안드로이드의 백그라운드 정책(Service) 개발자 입장에서 안드로이드를 아이폰과 비교했을 때 큰 강점은 자유로운 백그라운드 작업이였습니다. 안드로이드 버전이 진화하고 시장의 흐름에 변화에 따라 안드로이드의 백그라운드 정책도 변화하고 있습니다.  편의성 vs 보안 백그라운드 작업을 통해 사용자 편의를 위한 많은 작업들을 자연스럽게 처리 할 수 있었고, 소켓 연결 등 푸시서비스와 비슷한 기능도 구현할 수 더보기…

글쓴이 Charlezz,

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

Introduction Koin은 코틀린 개발자를 위한 실용적인 API제공을 하는 경량화된 의존성 주입 프레임워크입니다. (자바 개발자 또는 의존성 주입에 대해서 알고 싶다면 Dagger 포스트를 참조해주세요)  순수 코틀린으로만 작성되어있으며 프록시, 애노테이션 프로세싱을 통한 코드 생성, 리플렉션을 사용하지 않기 때문에 가볍습니다. Android Gradle설정(https://github.com/InsertKoinIO/koin) def koin_version=”0.9.3″ // 최신버전은 위의 github링크 참조 implementation “org.koin:koin-android:$koin_version” 왜 DSL을 더보기…

MotionLayout으로 만드는 안드로이드 애니메이션

MotionLayout으로 만드는 애니메이션 ConstraintLayout 2.0이 출시 되면서 MotionLayout이라는 새로운 레이아웃이 등장했습니다. MotionLayout은 ConstrainLayout을 상속한 레이아웃으로 새로운 방식으로 동적인 화면을 구성합니다. 기존에 애니메이션을 구현하기위해서는 다음과 같은 기술들을 적용했었습니다. AnimatedVectorDrawable( 모핑 애니메이션 버튼 만들기 ) Property Animation LayoutTransition, (Animate layout changes using a transition) CoordinatorLayout(디자인 서포트 라이브러리) MotionLayout은 기존의 방식과는 다르게 레이아웃 더보기…

Constraint Layout – Part2. 뷰의 배치를 돕는 가상 오브젝트

Virtual Helpers objects(뷰의 배치를 돕는 가상 오브젝트) 지난시간 Part1에서는 ConstraintLayout을 이용하여 기본적인 레이아웃을 잡는 연습을 했습니다. 이번시간에는 ConstraintLayout에서 가상 오브젝트들에 사용을 통해 좀 더 다양한 레이아웃을 만드는 연습을 해보도록 하겠습니다. 가상오브젝트의 종류에는 Guidline, Barrier, Group, Placeholder가 있습니다. Guideline 뷰의 위치를 잡는데 도움을 주는 유틸리티 클래스로 기본적인 동작은 visibility의 상태는 View.GONE이므로 더보기…

Constraint Layout – Part1. 만능 레이아웃

ConstraintLayout ConstraintLayout은 ViewGroup을 상속받아 확장시킨 라이브러리 입니다. 지난 2017년 2월에 1.0 버전이 출시되어 많은 개발자들이 이 라이브러리를 유용하게 써왔습니다. 출시때는 Android API9 수준까지 지웠했었는데요, 2.0부터는 API 14 수준부터 지원하게되었습니다. 사실상 API 14이상만되어도 안드로이드 전체 이용자 99.9%가 이에 해당하기 때문에 특수한 개발목적 또는 환경을 제외하고는 범용적으로 쓰일 수 있는 라이브러리입니다. ConstraintLayout 더보기…

Charles로 웹 디버깅 하기!

Charles란?? 웹 디버깅 프록시 프로그램으로 HTTP 프록시 / HTTP 모니터링 / 역방향 프록시로서 개발자가 자신의 기기의 모든 HTTP 및 SSL / HTTPS 트래픽을 볼 수 있도록 합니다. 여기에는 Request / Response 및 HTTP 헤더 (쿠키 및 캐싱 정보 포함)가 포함됩니다.   Charles 설치하기 https://www.charlesproxy.com/download/ 에서 다운 받아 설치 가능합니다. 무료 버전은 더보기…

Android Runtime Permission을 RxJava로 처리하기

Android Runtime Permission을 RxJava로 처리하기 Android 6.0 API 23 Marshmallow 버전 이상 부터는 Danger Level 권한에 대해서 Runtime Permission 요청 / 처리 를 해야합니다. 위험한 권한 및 권한 그룹 권한 그룹 권한 CALENDAR READ_CALENDAR, WRITE_CALENDAR CAMERA CAMERA CONTACTS READ_CONTACTS, WRITE_CONTACTS, GET_ACCOUNTS LOCATION ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION MICROPHONE RECORD_AUDIO PHONE READ_PHONE_STATE, CALL_PHONE, READ_CALL_LOG 더보기…

Android Final Architecture – (1) 개요

Final Architecture – (1) 개요 이 가이드는 이미 기초적인 안드로이드앱을 만들줄 알고, 조금 구조적인면에서 더 나은 앱을 만들기를 원하는 개발자를 위한 글입니다. 애플리케이션을 만들다보면 초기에는 어찌어찌 돌아는 가는데, 기능을 추가하고 업데이트를 하면 할 수록 유지보수가 힘들어 지는 것을 느낄수 있습니다. 어디부터 어디까지 손을봐야 할지… 한군데를 건드렸더니 이곳 저곳에서 터지는 사이드이펙트… 더보기…