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

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

글쓴이 Charlezz,

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

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

찰스의 안드로이드 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 빌드 더보기…

이미지의 추가/삭제 변경사항을 감지하고 삭제된 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, 더보기…

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

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

글쓴이 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가 필요할까 라는 생각이 들텐데 더보기…

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

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

DataBindingComponent와 Dagger2와 함께 사용하기

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