본문 바로가기

전체 글

(165)
[Android] kapt에서 ksp로 마이그레이션 하는 방법 및 차이점 비교. ksp는 출시한 지 몇 년 된 것으로 알고 있었는데 라이브러리를 사용하고 있는 내가 kapt와 ksp에 대한 차이를 명확하게 모르고 있다는 것을 인지하고, 그것에 대해 알아보기 위해 공부를 해야겠다고 느꼈다. 따라서,kapt와 ksp에 대해 알아보고, 사용하고 있는 라이브러리를 마이그레이션 하는 방법, 그리고 어떠한 차이가 있는지에 대해 알아보고자 한다.우선 kapt가 무엇인지 알아보자. kapt란,Kotlin Annotation Processing Tool의 약자로 자바의 어노테이션 프로세서를 코틀린에서 사용할 수 있게 해주는 도구라고 한다. kapt는 자바에서 사용되는 어노테이션 프로세서를 코틀린에서 사용할 수 있게 해 준다는데, 이게 무슨 말인가 싶을 것이다.간단하게 생각하면@Entity와같이 작성..
[Cursor] Cursor AI IDE를 사용한 Android 개발 - rules 사용. 필자가 회사에서 Cursor를 사용한 개발을 진행하면서같은 팀 동료와 어떻게 Cursor를 사용해야 더 효율성 높은 개발을 할 수 있고, 어떻게 해야 우리가 원하는 결과를 얻을 수 있는지에 대해 이야기를 자주 진행한다. 이야기를 할 때 가장 먼저 나왔던 내용은 어떻게 설정을 미리 해두면 우리가 나중에 사용할 때 최소한의 입력으로 원하는 결과를 얻을 수 있는 것인가?에 대한 내용이다. 되게 긴 문장이지만, 간단하게 한번 세팅하고 편하게 높은 정확성의 결과를 계속해서 받고 싶다는 것으로 cursor IDE를 사용하는 사람이라면 누구든 이러한 목표를 가지고 접근을 했을 것이라고 생각한다. 이야기를 하다보면 다양한 실험할 수 있는 방법에 대해 이야기가 나왔는데,그것들 중 Cursor IDE를 사용할 때 가장 기..
[Cursor] Android Studio와 함께 Cursor AI IDE를 사용하기 위한 사용법 및 기초 세팅 최근 필자가 회사에서 업무를 진행함에 있어서 Cursor AI를 사용하여 개발하는 것을 테스트하고 있다. 이미 예전부터 GPT나 Claude 등을 사용하며 AI를 사용한 개발을 하고 있었는데, AI를 사용한 IDE 자체를 사용하는 것은 처음이라 그것의 사용하는 방법이나 팁과 같은 것들을 알게 된다면 간단하게나마 남겨두려고 한다. 이번 글에서는 Cursor IDE를 설치하고, Android Studio와 함께 사용하기 위해서 설정해야하는 아주 기본적인 세팅에 대하여 작성해보고자 한다. *본 게시글의 내용은 공부하고 적용해보면서 알게 된 정보를 공유하기 위한 것이므로, 정확하지 않은 정보가 포함되어 있을 가능성이 있습니다. "확실한 정보가 아닐 수 있음"을 인지하고 글을 읽어주시면 감사하겠습니다.우선, Cu..
[Android] 사용성 높은 StickyHeader 구현하기 Compose를 통해 다양한 UI를 그리다 보면, Header라는 이름의 UI를 많이 그려봤을 것이다.그중에서 Scroll이 가능한 영역에서 Header를 구현할 때 StickyHeader를 많이 사용했을 텐데, 필자는 최근에 기본적인 StickyHeader가 아닌 UI가 변경되면서 다른 형태의 Header를 구현해야 했다. 따라서 기본적인 StickyHeader를 사용하는 것이 아닌 다른 형태의 Custom Header를 구현하는 법을 찾아보았고,생각보다 자주 쓰일 수 있을 것이며 한번 구현해 두면 쉽게 가져다 사용할 수 있는 Component라고 생각이 되었다. 간단하지만,StickyHeader와 더불어 Compose에서 제공하는 Component를 사용하여 구현하는 방법, 직접 Custom 하여 H..
[Android] Shimmer UI 구현하기 개발을 진행하면서 UI가 그려지기 위한 API의 응답을 기다리는 시간에 Loading Indicator를 통해 UI를 그려본 적이 있을 것이다. 단순히 로딩을 돌려서 그 시간을 기다리게 만들 수 있을 뿐 아니라, Shimmer를 사용하여 조금 더 자연스럽고 세련된(?) 로딩 화면을 만들 수 있다. 필자도 지금까지는 대부분 API 응답을 기다릴 때 Loading 애니메이션을 넣어주고 로딩이 끝나면 UI가 한 번에 그려지는 형태로 개발을 진행했었는데, 이번에 Shimmer를 사용하여 UI를 미리 그려주고 API Response가 오면 화면을 갱신하는 형태로 개발을 진행하게 되었다. 따라서, 간단하게 Shimmer를 구현하는 방법과 사용할 때 주의할 점에 몇 가지에 대해 작성해두고자 한다.우선,Shimmer가..
[Android] 개발자 계정 인증하기 약 반년전, 처음으로 개발자 계정을 생성하고 앱을 배포하는 과정을 글로 작성했었다.그리고, 8월달 쯤 개발자 계정을 인증하라는 경고가 받았고 9월 말이 다 되어서야 정상적으로 개발자 계정을 인증할 수 있었다.기존에는 9월까지 인증을 했어야 했으나, 맨 처음에 제출했던 서류가 부적합하다고 판단이 나왔고 그에 따른 인증 기간 연장을 통해 10월 중순까지로 미뤘었다. 이제서야 개발자 계정 인증이 되었으므로 그 과정도 간단하게 서술해보고자 한다.필자처럼 최근에 개발자 계정을 만들었다면, 이런 경고를 확인했을 것이다. 이게 갑자기 무슨소린가? 싶겠지만,곰곰히 생각해보면 개발자 계정을 만들 당시, 언제까지 인증을 하겠다. 라는 기간을 선택했던것 같은 기억이 스쳐지나갈 것이다.개발자 개정을 만들 때 제대로 된 사용자..
[android] BottomNavigation의 구현 및 방법에 따른 차이 개발을 하다 보면 Scaffold의 bottomBar를 사용하여 BottomNavigationBar를 많이 구현하곤 한다.필자도 업무를 진행하면서 BottomNavigationBar가 필요하면 compose에서 제공해 주는 BottomNavigation 컴포넌트를 이용하여 구현을 하였는데, 최근에 해당 컴포넌트를 사용하지 않고 구현해야 하는 상황이 발생하였다. 별도로 구현을 하면서 제공해 주는 Component를 사용하지 않을 때와 사용했을 때의 구현 방법과 차이점에 대해 간단하게 알아보도록 하자.우선,BottomNavigation Component를 사용할 때의 구현 방법이다.val navController = rememberNavController()Scaffold( modifier = Modi..
[Android] Lottie Animation을 적용해보자. 실무를 진행하다 보면, 로딩 화면이나 배너 화면에서 다양한 애니메이션을 경험할 수 있다.이 애니메이션들은 gif 파일을 사용하여 보여주는 경우도 있겠지만, Lottie를 사용하여 애니메이션을 보여주는 경우도 있다. 이번 글에서는 간단하게 gif와 Lottie에 대한 차이와, 사용하는 방법에 대해서 작성해보고자 한다.우선,Gif와 Lottie의 차이부터 확인해 보고 넘어가자. gif는 가능한 작은 용량의 파일로 애니메이션을 표현하기 위한 파일 형식으로, 소리 없이 재생되는 영상 파일이라고 생각하면 편하다.쉽게 인터넷에서 찾을 수 있는 움직이는 짤과 같은 것들은 gif 확장자로 저장된 파일이라고 볼 수 있다.영상 파일이라고 생각하면 편하다. 라고 언급한 이유는 다양한 것들이 있는데, 가장 간단하고 쉽게 이해..