본문 바로가기

다우 & Android

(4)
다수의 Notification channel 관리시 주의사항 안녕하세요! 이번에는 개발 중인 앱에서 다수의 Notificaion channel을 생성하여 관리할 때 겪었던 이슈와 원인, 해결 방법을 공유해보려 합니다. Notificaion Channel이란? 우선 안드로이드 O부터 나타난 Notificaion Channel이란 게 무엇인지 간단하게 알아보겠습니다. Clock앱의 환경 설정에 들어가면 알림에 대한 설정이 가능합니다. 이 앱의 경우에는 여러 가지 상황에서 Notification을 주고 있네요. 알람&타이머에 대한 Notification, 놓친 알람에 대한 Notification, 스톱워치 관련 Notification 등등 여러 가지 분류의 Notification이 존재합니다. 이 상황에서 사용자는, 자신이 원하는 분류의 알림만 받고 나머지 알림은 받지..
Live Template로 개발자 정신건강을 챙기자. 안녕하세요. 다우기술에서 안드로이드 앱을 개발하고 있는 개발세끼의 막내 "_세끼"입니다. 저는 최근에 취미삼아 플루터를 공부하고 있는데요, 플루터의 여러 장점을 떠나서 가장 와 닿았던 점이 개발자 경험이었습니다. 더 정교하고 강력해진 자동완성 기능 뿐만 아니라 Hot Reloading, 디버그 모드로 에뮬레이터의 특정 위젯을 클릭하면 해당 위젯을 구현한 코드로 자동으로 이동하는 기능 등 코틀린으로 안드로이드를 개발할 때 보다 훨씬 더 쉽고, 빠르고, 즐거웠습니다. 사용자 경험도 중요하지만, 좋은 사용자 경험을 제공하는 서비스를 만들기 위해서는 좋은 개발자 경험이 선행돼야 한다고 생각합니다. 안드로이드 스튜디오, Intelli J 에서 개발자 경험을 올려보자. 그래서 오늘은 live template라는 것..
Android DataBinding을 살펴보자! 안녕하세요! '개발세끼'의 막내를 담당하고 있는 '세끼'라고 합니다. 이번에는 안드로이드 Data Binding에 대한 글을 적어보려 하는데요, 데이터 바인딩 사용법에 대한 글은 아닙니다. 데이터 바인딩이 무엇이고, 왜 필요하며, 어떻게 동작하는지에 대한 제 나름의 고찰과 정리 내용을 공유해보려 합니다. 데이터 바인딩이란? mvvm 패턴이 대중화가 되면서 많은 분들이 data binding 기술을 사용하고 계실것 같습니다. 그런데 데이터 바인딩이 무엇인가요? 데이터 바인딩은 xml에 자바 코드를 삽입하기 위한 기술입니다. 왜 xml에 자바 코드를 삽입하려 할까요? 그 이유를 알기 위해서는 안드로이드에 xml이 도입된 이유를 알아야 합니다. 안드로이드는 View를 xml으로 그리죠. 물론 자바 코드로 한 ..
자연스러운 ImageView 회전 적용하기 (카카오톡 이미지 편집) 안녕하세요! '개발세끼'의 막내를 담당하고 있는 '세끼'라고 합니다. Android 개발을 하면서 이미지 뷰 에디터를 개발할 때가 있었는데요, 화면 회전 기능 개발시 생겼던 이슈와 해결방법에 대해서 글을 적어보려고 합니다. 화면 회전 기능을 개발하기위해 구글링을 해보니, 가장 많이 보이는 글은 Bitmap 조작이었습니다. 아래와 같은 코드처럼 말이죠. val matrix = Matrix().apply { postRotate(90f) } val bitmapSource = ((this.drawable) as BitmapDrawable).bitmap val rotatedBitmap = Bitmap.createBitmap(bitmapSource, 0, 0, bitmapSource.width, bitmapSour..