안드로이드 26

[Android/Kotlin] SpringAnimation - 2. 강성과 감쇠비

이전 포스팅에서 언급했다싶이 스프링 애니메이션은 스프링력이라는 특정 값과 속도에 따라서 계산되는 애니메이션입니다. 물리학 효과가 들어간 스프링 애니메이션에서 가장 중요한 부분인 강성과 감쇠비에 대해서 얘기해보고자 합니다. 이전 포스팅을 못 보신 분들이라면 보고 오시는 것을 추천드립니다. 참고 링크 https://developer.android.com/guide/topics/graphics/spring-animation?hl=ko 스프링 물리학으로 움직임 애니메이션화 | Android 개발자 | Android Developers 스프링 기반 애니메이션에서 스프링의 속성, 값, 속도는 애니메이션을 만드는 데 사용됩니다. developer.android.com 강성과 감쇠비? 스프링 애니메이션을 적용할 때 사..

안드로이드 2021.11.03

[Android/Kotlin] SpringAnimation - 1. 스프링 애니메이션이란?

여러 서비스가 동작할 때 얼마나 그 기능이 문제없이 잘 작동하는 것도 중요하지만 사용자의 반응에 맞춰 적절한 애니메이션이 가미된다면 보다 역동적인 앱을 만들 수 있습니다. 안드로이드에서는 다양한 방법으로 애니메이션을 제공해주고 있는데, 그 중 물리학 모션을 기반으로 만들어진 SpringAnimation에 대해서 알아보겠습니다. 스프링 애니메이션이란? 안드로이드 개발자 문서에서는 다음과 같이 설명하고 있습니다. Spring force is one such force that guides interactivity and motion. A spring force has the following properties: damping and stiffness. In a spring-based animation, t..

안드로이드 2021.07.08

[Android/Kotlin] 중복 클릭을 막아보자(SingleClick) - MingSingleClickListener

현재 회사에 입사해서 열심히 안드로이드 개발자로서 삶을 살아가다 보니 블로그의 관리가 엄청 뜸해지더군요... 첫 직장이라서 피로감이 엄청난 것도 있고, 회사에서 개발하는 것만 해도 엄청나게 양이 많다 보니 포스팅할 체력이 남아나질 않았습니다 ㅜ 그래도 최근에는 어느정도 적응이 돼서 퇴근 후 자기 계발을 틈틈이 하는데요 개인적인 공부를 하다가 문득 라이브러리 제작에 흥미를 가지게 되었습니다. 막연하게 인터넷을 뒤져가며 라이브러리 제작하는 것을 찾아보고 실습해보면서 실제로 배포를 해보고 남들이 잘 써주면 얼마나 좋을까?라는 생각을 안 할 수가 없더군요 ㅋㅋㅋ 그래서 간단하면서도 유용하게 쓰일 만한 기능이 뭐가 있을까 생각하다가 뷰의 중복클릭을 막아주는 라이브러리를 만들어보자 생각했습니다. 물론 뷰의 중복클릭..

안드로이드 2021.05.21

[Android/Kotlin] SharedPreferences 대신 쓰는 DataStore

지금까지 우리들은 로컬에 간단한 데이터들을 저장하기 위해서 SharedPreferences를 사용했습니다. 하지만 현재 안드로이드에서는 DataStore의 사용을 적극 권장하고 있습니다. ( 개발자 문서에서도 SharedPreferences 사용 가이드를 빼버렸더군요 ㄷㄷ... ) DataStore가 무엇 인가요? DataStore는 프로토콜 버퍼를 사용하여 키-값 쌍 또는 유형이 지정된 객체를 저장할 수 있는 데이터 저장소 솔루션입니다. 코루틴 및 Flow를 사용하여 비동기적이고 일관된 트랜잭션 방식으로 데이터를 저장하는 것이 특징이라고 할 수 있습니다. DataStore는 키 - 값 으로 구성되어 있는 Preferences DataStore , 사용자가 정의한 데이터를 저장할 수 있는 Proto Da..

안드로이드 2021.03.12

[Android/Kotlin] 비동기 작업을 위한 Coroutine을 Araboza! (1)

안드로이드의 메인 스레드(=UI 스레드)의 작업량이 많아져 5초 이상의 대기시간이 걸리게 되면 ANR 에러를 일으키면서 앱이 종료됩니다. 그래서 메인 스레드에 부하가 들어가는 작업들은 최대한 다른 스레드에서 작업을 해줘야 하죠. ( 메인 스레드는 UI의 상태 변경에만 쓰이는 것이 제일 좋습니다.) 다른 스레드에서 작업을 하게 된다면 여러 개의 작업이 병렬적으로 동작합니다. 마치 옷 만드는 공장에서 옷감 만들기, 옷 만들기, 포장하기 등 모든 일을 하는 것에서 옷감 만들기 공장, 옷 만들기 공장, 포장하기 공장이 만들어져 각자의 일을 독립적으로 수행하게 되는 것과 비슷합니다. 안드로이드 스튜디오는 비동기적으로 로직을 처리하고 싶을 때 Handler와 Thread, 그리고 AshycTask를 제공했습니다. ..

안드로이드 2021.01.13

[Android/Kotlin] MotionLayout - 3 ( Lottie와 ViewPager 활용 )

[이전 포스팅] [Android / Kotlin] MotionLayout - 1 ( 애니메이션을 쉽게 적용하기 ) [Android / Kotlin] MotionLayout - 2 ( 실제로 적용해보자. ) 오랜 공백을 깨고 돌아왔습니다. ㅎㅎ 학교도 드디어 종강을 맞이했겠다. 다시 천천히 블로그 포스팅을 진행해보려고 합니다. 그 복귀의 첫 번째 포스팅으로 MotionLayout-2에서 언급했던 실습에 대해서 포스팅하려고 합니다. ( 약 3개월 만의 MotionLayout 시리즈 포스팅.. 가슴이 웅장해진다. ) 이전 포스팅에서 언급했던 대로 이번에는 로티와 뷰 페이저를 연동하여 다음 웹툰의 메인 화면 애니메이션을 연출해보는 ( 비슷하게라도 따라 해 봅시다! ) 시간을 가져보려고 합니다. 결과 화면 먼저 ..

안드로이드 2020.12.21

Android Studio 4.1로 오면서 사라진 Kotlin extension 대응법

27기 Sopt 안드 파트장으로 활동하고, 학교도 다니고, 프로젝트도 하는 바쁜 일상을 사는 2020년 하반기... Android Studio가 4.1로 최신 업데이트가 되면서 여러 가지 기능들이 생겼습니다. (이에 대해서는 추후 포스팅해보겠습니다.) 자료도 만들 겸 안드로이드 스튜디오를 켜고 작업을 시작하던 찰나... 이상한 것이 있었으니.... 여느 때처럼 아무렇지 않게 사용하던 kotlin extension이 안 되는 겁니다... 그래서 다른 프로젝트들도 안되나 싶어서 허둥지둥 열어봤지만 다른 프로젝트들은 다 잘되더군요... 마침 이와 같은 고민을 하고 계시던 파트원분들 중 한 분이 저에게 헬프를 요청하셨었는데, 저도 이러한 현상을 겪으니 해결해야겠다는 마음가짐(을 빙자한 빡침)으로 찾아보게 되었습..

안드로이드 2020.10.15

[Android/Kotlin] MotionLayout - 2 ( 실제로 적용해보자.)

지난 포스팅에서 다룬 MotionLayout의 개념을 바탕으로 실제로 실습한 내용에 대해 포스팅하겠습니다. 지난 글을 못 읽으셨던 분은 아래 링크를 타고 한 번 읽고 오신다면 이해하기 편하실 겁니다. kangmin1012.tistory.com/41 [Android/Kotlin] MotionLayout (애니메이션을 쉽게 적용하기) 안드로이드 앱을 만들 때마다 항상 하는 고민이 있습니다. 어떻게 해야 앱을 멋있게 만들 수 있을까.... UI/UX에 맞게 앱을 만드는 것도 멋있지만 거기에 애니메이션이 추가가 된다면 얼마나 멋있� kangmin1012.tistory.com 지난 글에 저는 Android Studio가 4.0으로 올라오면서 MotionLayout Editor를 지원한다고 얘기했었습니다. 그래서 ..

안드로이드 2020.09.17

[Android/Kotlin] MotionLayout (애니메이션을 쉽게 적용하기)

안드로이드 앱을 만들 때마다 항상 하는 고민이 있습니다. 어떻게 해야 앱을 멋있게 만들 수 있을까.... UI/UX에 맞게 앱을 만드는 것도 멋있지만 거기에 애니메이션이 추가가 된다면 얼마나 멋있을까요? 다음 웹툰만 보더라도 애니메이션을 넣어서 엄청 예쁘게 보이게 됩니다. 유튜브나 유튜브 뮤직에서 보이는 슬라이드 애니메이션을 생각하시면 될 것 같네요. ㅎㅎ 이를 만족시키기 위해 여기저기 돌아다니던 중 MotionLayout을 알게 되었습니다. 그럼 MotionLayout이 뭔지 한 번 확인해 보도록 하겠습니다. 해당 포스팅은 Android Developer에 있는 내용을 중심으로 작성하였습니다. developer.android.com/training/constraint-layout/motionlayout..

안드로이드 2020.09.06

[Android/Kotlin]( MVVM 다가가기 )ViewModel + LiveData + DataBinding

이번 포스팅에는 MVVM 디자인 패턴을 실현하기 위한 핵심인 ViewModel을 사용하는 실습을 포스팅하려고 합니다. MVVM 패턴을 왜 하려고 하는지, 또 이전 포스팅 DataBinding을 보지 못한 분들은 보고 오는 것이 이번 포스팅을 이해하는데 더 편할 것이라고 생각합니다. 자 이제 무엇을 할것이냐? (MVVM 패턴) 자 이제 무엇을 할것이냐? (MVVM 패턴) 지금까지 나는 개발을 할 때 activity에 모든 코드를 때려 박았다. 어떻게 보면 대가리만 큰 코드가 되었다고 할 수 있다. 이렇게 activity에 모든 코드를 넣어버리면 자연스럽게 어플은 무거워지고, kangmin1012.tistory.com 데이터 바인딩 기초 [Android/Kotlin] DataBinding(데이터바인딩) 1 ..

안드로이드 2020.08.03