Android Studio 3.6 출시, 새로운 기능 알아보기

디자인 디자인 편집기의 분할된 화면 레이아웃 편집기이나 네비게이션 편집기 같은 디자인 편집기에서 이제 분할된 화면을 볼수 있는 스플릿뷰 기능을 제공합니다. 이제 코드와 UI를 동시에 볼 수 있습니다. 스플릿뷰는 기존의 프리뷰(Preview)윈도우를 대체하고 파일기반으로 확대배율이나 디자인 뷰 옵션 등의 정보를 보존한다. 컬러 피커 리소스 탭 추가 빠르게 컬러 리소스를 고를 수 있는 더보기…

글쓴이 Charlezz,

RxJava, RxAndroid 3.0 출시, 무엇이 변경되었지!?

RxJava 3.0 RxJava란 비동기적인 이벤트 기반의 프로그램을 만들 때 사용하는 라이브러리로써 모든 것을 스트림으로 처리한다. 이번 3.0.0 릴리즈에는 코드 전반적으로 많은 정리와 성능 개선이 이루어졌다고 한다. 어떤 점들이 개선되고 변화되었는지 알아보자. 메이저 버전넘버가 수정됨에 따라 아티팩트 아이디도 변경이 되었다. 그레이들에 RxJava3를 추가하기 위해서는 모듈레벨의 build.gradle에 다음과 같은 내용을 추가해야한다. dependencies 더보기…

찰스의 안드로이드 2차 meet-up 후기

두 번째 모임! 코로나 바이러스 유행에도 와주신 모든 분들에게 감사하단 말씀 드립니다!! 안드로이드 아키텍처 MVVM 발표자료.pdf AR SDK, 영상통화 발표자료.pdf 기술 세션 발표자를 모집합니다! 20분 내외로 간단히 자신만의 노하우나 트러블슈팅 사례가 있다면 오프라인 모임에서 공유해주셨으면 합니다. 사소하고 간단하다고 생각하는 팁도 타인에게는 큰 정보로 느껴질 수 있습니다. 발표자 신청은 아래의 링크를 더보기…

글쓴이 Charlezz,

macOS vs Windows 빌드 시간 테스트

테스트 목적 동일한 기기의 동일한 개발환경에서 macOS와 Windows의 빌드시간의 차이를 알아본다. 테스트 환경 테스트 기기 : 13인치 Macbook 2015 중급형 테스트 OS : macOS Mojave, Windows10 (부트캠프환경) 빌드 환경 : 안드로이드 스튜디오 버전 3.5.3, SDK Platform 29, build-tools 29.0.2 빌드 대상 프로젝트 : FinalArchitecture/JavaApp 테스트 빌드 시간 측정은 프로젝트 클린 더보기…

멀티 모듈을 사용하는 앱에서 Dagger 적용하기

멀티 모듈을 사용하는 앱에서 Dagger 적용하기 애플리케이션 개발시 다음과 같은 특수한 목적으로 가지고 멀티 모듈을 사용한 개발 방법을 택할 수 있다. 대규모 프로젝트에서의 개발자간 협업 빌드 시간 단축 모듈의 재사용 여러가지 버전의 앱을 만들 때 APK 용량을 줄일 때 ( Dynamic Feature Module) 안드로이드 프로젝트에서 멀티 모듈의 종류는 일반적인 모듈과 더보기…

이미지의 추가/삭제 변경사항을 감지하고 삭제된 Uri인지 확인하기

내 앱이 아닌 다른 애플리케이션에서 미디어(이미지, 동영상 또는 파일)을 추가/삭제 여부를 감지하기 위해서는 ContentObserver를 다음과 확장하여 사용할 수 있다. class PickleContentObserver(val activity:FragmentActivity) : ContentObserver(Handler()), LifecycleObserver{ … val contentChangedEvent = SingleLiveEvent<Void>() // Activity 또는 Fragment에서 구독 init { activity.lifecycle.addObserver(this) activity.contentResolver.registerContentObserver(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, this) activity.contentResolver.registerContentObserver(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, true, this) } override fun onChange(selfChange: Boolean, uri: 더보기…

찰스의 안드로이드 1차 오프라인 모임 후기

드디어 첫 번째 오프라인 모임을 가졌습니다. 주말에 바쁜시간내어 와주신 모든 분들께 감사하다는 말씀 드리고 싶습니다. 이번 오프라인 모임은 안드로이드 개발자로써 2019년 한 해를 돌아보고, 2020년을 준비하기 위한 모임이였습니다. 작년 한 해 아쉬웠던 점과 잘했던 점을 정리 한 결과 대부분 몇가지 공통된 의견을 도출할 수 있었습니다. 안드로이드 기술 배우기 ( Kotlin, 더보기…

글쓴이 Charlezz,

코틀린의 Sealed class

https://android.jlelse.eu/kotlin-sealed-classes-enum-2-0-1d8addd00602를 번역한 내용입니다. 예를들어 일요일, 월요일, 화요일 등 요일에 대한 정보를 갖는 객체 집합을 만들기 위해 enum클래스를 사용할 수 있다.  enum class Days(dayNo: Int) { SUNDAY(0), MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6) } 왜 sealed class가 필요할까 라는 생각이 들텐데 그전에 enum의 제약사항에 대해 알아보자 각각의 enum 상수에 대해 하나의 더보기…

여러 작업에 대해 단일 쓰레드를 사용하여 순차적으로 하나씩 진행하기

블루투스, 카메라, 마이크 등 단일 하드웨어에 의존적인 API사용에 대해서는 일반적으로 한번에 한가지 작업 밖에 할 수 없다. 예를 들어 동영상을 인코딩 하는 인코더 모듈이 존재하고, 이 인코더는 한번에 하나의 파일만 인코딩 할 수 있는 상황이라면 여러 동영상 인코딩 작업 목록을 순차적으로 하나씩 처리해야 할 것이다. [그림] 여러 요청들을 한번에 하나씩 더보기…

DataBindingComponent와 Dagger2와 함께 사용하기

DataBindingComponent와 Dagger2와 함께 사용하기 이번에 다룰 내용은 DatabindingComponent 사용하기 2탄으로 DataBindingComponent를 의존성 주입 프레임워크인 Dagger2와 함께 사용하는 방법에 대해서 알아본다. Prerequisite 데이터바인딩 라이브러리 DatabindingComponent 사용하기 Dagger2를 알아보자 DataBindingComponent /w Dagger2 DataBindingComponent 공식 문서를 참조하면, 다음과 같은 내용이 있다. If using Dagger 2, the developer should extend this interface and annotate 더보기…