BlogHide Resteemskingori2 (33)in kr-dev • 6 years ago안드로이드 라이브러리 프로젝트의 리소스 충돌 해결하기안드로이드 라이브러리 프로젝트는 리소스를 가질 수 있다. 만약 서로 다른 라이브러리가 동일한 이름의 리소스를 가질 경우, 안드로이드 빌드 도구는 하나의 리소스를 선택해야만 한다. 공식 문서 에선 이 부분을 다음과 같이 설명한다. 여러 AAR 라이브러리 간에 충돌이 발생한 경우 종속성 목록에 맨 처음(dependencies 블록의…kingori2 (33)in kr-dev • 6 years agokoin 2.0 맛보기Kotlin용 의존성 주입 프레임워크인 koin 의 2.0 버전의 기능 특징을 간단히 정리해본다. 공식 참조 문서 도 꽤 잘 만들어져 있기 때문에 궁금하신 분들은 이 글을 빠르게 읽고 공식 문서를 참고해보시면 더 효율적으로 koin 2.0을 익힐 수 있을 듯. koin 2.0 은 이 글을 작성하는 4월 중순, rc-2 까지 나온 상태이다.…kingori2 (33)in kr-dev • 6 years ago맥북의 카메라로 타임랩스 동영상 만들기발단 어느날 문득 내가 회사에서 하루종일 어떤 자세로 일하고 있는지 궁금해졌다. 나만 궁금한가? 안드로이드 앱 개발로 먹고사니 앱으로 만들어볼까 싶었지만 카메라 API를 다루기도 귀찮고, 막상 촬영을 하려면 폰을 어딘가에 잘 고정해두고 계속 켜둬야 하는데 이것도 거추장스럽다고 판단했다. 그래, 노트북에 장식처럼 달린 카메라를 이 참에 한번 써…kingori2 (33)in kotlin • 6 years agoKotlin의 lazy field를 가진 serialize 객체를 Proguard 적용할 때 주의할 점Kotlin의 Delegated proproperties 는 매우 유용한 기능이다. 언어가 제공하는 lazy 펑션을 이용하면필드를 lazy하게 초기화 할 수 있다. 다음과 같은 객체를 생각해보자. class User: Serializable {kingori2 (33)in android • 6 years ago카카오 T 택시 기사용 앱 Kotlin 적용기8/10(금) 판교역 카카오페이 사무실에서 열린 GDG 판교의 Android & Chain 행사에서 카카오 T 택시 기사용 앱 Kotlin 적용기 라는 제목으로 짧은 발표를 했다. 작년 12월에 시작해서 6주간 4명이 함께 진행한, 아주 작지만은 않은 중간 규모의 작업이었다. 멀쩡히 돌아가는 앱의 언어와 라이브러리를 뜯어고치는 작업이라…kingori2 (33)in android • 6 years ago여러개의 사내 배포 aar을 사용할 때 로컬 캐시로 인한 문제를 빨리 파악하기애플리케이션 프로젝트 C에서 사내 배포 aar 프로젝트 A를 사용하는데, 이 녀석은 다시 다른 사내 배포 aar 프로젝트 B 를 사용하는 중이다. 또한 C는 B를 직접 참고하고 있기도 하다. C -> A(by aar) -> B(by aar)kingori2 (33)in intellij • 7 years agoAndroid Studio (IntelliJ) 디버거 활용 팁2016년 devfest에서 안드로이드 개발에 유용한 도구들 이란 주제로 발표할 때 안드로이드 스튜디오의 디버거 팁을 살짝 다뤘는데, 얼마 전 사내 팀 스터디에서 다시 한번 정리한 내용을 공유해본다. 단위 테스트의 어려움 때문인진 몰라도 안드로이드 앱을 만들다보면 웹 애플리케이션 개발을 할 때 보다 디버거에…kingori2 (33)in android • 7 years agoIntent.FLAG_ACTIVITY_NEW_TASK 사용할 때 조심할 점안드로이드 앱에선 액티비티를 시작할 때 intent를 이용한다. 이 intent에는 꽤 여러가지 flag를 옵션으로 줄 수 있는데, 문제는 이 옵션들이 하나같이 어렵고 복잡하다. 단순한 스택 구조라면야 문제될 게 없는데, 노티를 타고 실행하기 / 런처의 즐겨찾기로 실행하기 등이 끼어들면 액티비티와 태스크 구조부터 고민을 해야 한다. 나름 안드로이드…kingori2 (33)in android • 7 years ago드로이드나이츠 2018 발표 후기2018년 4/22일에 코엑스에서 개최된 안드로이드 컨퍼런스 드로이드 나이츠 에서 발표를 했다. 처음엔 딱히 발표 꺼리도 없고 해서 그냥 컨퍼런스 참여만 생각을 했었는데, 얼마 전 카카오 택시 기사앱에 ConstraintLayout을 적용해보고 너무 좋아서 기왕에 얻은 경험, 발표까지 해 보자! 하고 발표자 신청을 했다. 여기엔 참가비가…kingori2 (33)in kr-dev • 7 years agoKotlin 의 nullable type 추론 이슈 해결다음과 같은 코드를 생각해보자. fun execIntFunctContainer( funcContainer: FuncContainer ) { kingori2 (33)in zsh • 7 years agoohmyzsh , agnoster 테마 설정방법 정리맥북을 포맷한 김에 oh-my-zsh 을 설치하고, 테마를 찾던 중 터미널 초보의 필수품인 Oh My ZSH!를 사용하자 에서 언급된 agnoster 테마 설치를 정리해 보았다. 0.준비 mkdir agnoster_themekingori2 (33)in android • 7 years agoAndroid Support library 27.0.x 와 @Nullable hell앱을 릴리즈 한 이후 아래와 같은 크래시가 수집되었다. Fatal Exception: java.lang.NoClassDefFoundError: android/graphics/drawable/Iconkingori2 (33)in android • 7 years agoAndroid 의 Cursor에서 Kotlin의 Closeable.use 를 쓸 경우엔 주의하자Kotlin의 Closeable은 use 라는 유용한 확장함수를 제공한다. 안드로이드 앱을 개발할 때, DB나 ContentProvider에서 값을 가져오기 위해선 Cursor 를 사용해야 하는데, 이 때 use 를 이용하면 깔끔하게 작업을 처리할 수 있다. 하지만 릴리즈하고 보니 ICS 기기에서 다음과 같은 크래시가 접수되었다.…