본문 바로가기

분류 전체보기

(171)
[Android] Android 15 (SDK 35) 대응하기 - Compose UI Android 15 버전인 SDK 35 버전은 아직 베타버전이지만, 개발자 톡방을 보면 종종 SDK 35를 대응했다. 대응하는데 어떻게 해야 하냐라는 식의 내용을 종종 확인할 수 있었다. 이 사람들 정말 빠르게 버전을 대응하는구나. 라고 생각을 하면서도, 나도 알고 있어야 하는 내용이다 싶어서 시간이 될 때 하나씩 대응을 해보려고 한다. 이번 게시글에서는 안드로이드 개발자 페이지의 내용을 전반적으로 살펴보고,그 중, 필자가 적용한 UI에 관련된 부분을 조금 더 디테일하게 확인해보고자 한다.처음으로,모든 앱의 변경사항 문서에 가서 확인해 보자.모든 앱에 관련하여 수정된 기능을 보는데, 딱히 실제로 컨트롤해야 하는 부분은 많이 보이지 않고, minSDK version에 관련한 내용이 눈에 들어왔다.Andro..
[Git] .gitIgnore 재 적용하기. 필자는 샘플 코드를 작성하면서, 여러 번 github에서 repository를 생성했었다.하지만 최근 새로운 Repo를 생성하면서 .gitIgnore를 적용하려고 하니, 분명히 파일을 넣었는데 정상적으로 ignore처리가 안되고 있었다. Repository를 생성하고 한번 해당 파일을 설정하고 난 후 별 다른 이슈가 없다면 건들지 않는 성격의 파일이기 때문에,다시 설정하려고 하면 매번 방법을 까먹어서 찾아보고 작업을 수행하게 되었다. 이 과정이 생각보다 귀찮기도 하고 매번 명령어를 찾아보기도 귀찮아서 간략하게 정리해두려고 한다. 필자는 Mac으로 작업했기 때문에 Mac기준의 작업 과정만 기입하도록 하겠다. 우선,.gitignore 파일부터 생성해 보도록 하자. . gitignore 파일을 생성하여 적용하..
[Android] Text Shimmer UI 구현하기 2024.09.29 - [Android/Jetpack Compose] - [Android] Shimmer UI 구현하기지난번 Shimmer UI를 구현한 이후, 이번에는 Text 자체의 Shimmer를 적용해야 하는 경우가 생겼다.의외로 간단하게 구현이 가능하지만, 필자가 적용하기 위해 적용했던 단계를 작성해보고, Text에 shimmer를 적용하는 방법에 대해 알아보도록 하겠다.기존에 사용했던 shimmer util은 위에 언급한 글을 보면 알 수 있겠지만, 다음과 같다.fun Modifier.shimmer( colorList: List = listOf( Color.LightGray.copy(alpha = 0.2f), Color.LightGray.copy(alpha = 0..
[Android] SSE를 사용하여 실시간 통신하는 방법. 회사에서 업무를 진행하다, SSE를 사용하여 통신을 해야 하는 케이스가 추가되었다. Websocket를 통해서 실시간 통신을 구현해 본 경험은 있지만,SSE를 사용해 본 경험은 없었기 때문에 이를 적용하기 위한 과정과 적용하는 간단한 샘플 코드를 작성해보고자 한다.우선,SSE란 무엇인가부터 알아보자. SSE란,Server-Sent Events의 약자로서버에서 클라이언트로 단방향 실시간 데이터를 전송하는 웹 기술이다. 즉,서버에서 클라이언트로 일방통행 통로를 하나 뚫어주고, 그 통로를 통해서 계속해서 데이터를 전달할 수 있다는 것이다. 필자가 맨 처음, WebSocket은 구현해 봤지만 SSE는 처음이다.라고 말한 이유는WebSocket도 실시간 데이터를 전송하는 기술이지만, 이는 양방향 통신이 가능한 기..
[Android] toml 파일을 사용하여 Gradle을 개선해보자. 회사 동료와 이야기를 하던 도중, python의 pyproject.toml이라는 것을 알게 되었고 확인해 보니 프로젝트의 빌드 시스템을 정의하는 파일이었다.그리고 toml에 대해서 확인해보니 android 환경의 gradle에서도 적용이 가능하였고, 알고 보니 많은 프로젝트들에서 toml 파일을 사용하여 gradle의 의존성을 관리하고 있다는 것을 알게 되었다. 사용할 수 있다는 것을 알게되었으니, 당연히 한번 적용해봐야 하지 않겠는가?라는 생각을 가지고, 샘플 프로젝트의 gradle에 사용되는 의존성을 toml 파일을 사용하여 관리할 수 있도록 수정해 보았고, 그 과정에 대해 간단하게 글을 작성해 보도록 하겠다.우선,가장 기본적인 toml이란 무엇인가 부터 알아보자.toml이란,Tom's Obvious..
[Android] Jetpack Compose 환경에서 MVI Pattern 구현하기 공부를 진행하다가 MVI Pattern에 대한 내용을 접하게 되었다.현재 진행하고 있는 프로젝트들은 MVVM 기준으로 구조가 잡혀있기 때문에 MVI Pattern은 사용하지 않고 있었는데, 이전 아키텍처를 공부할 때 샘플을 만들어 본 이후로 MVI Pattern으로 구현을 해보지 않았다는 것을 깨닫게 되었다. 더군다나, Jetpack Compose 환경에서는 MVI Pattern을 사용한 적이 없어서 이번 기회에 간단한 샘플을 만들어 구현해보고자 하였다.우선,MVI Pattern이 무엇인지부터 다시 복기해 보도록 하자.2022.04.30 - [Android/Architecture] - [Android] MVI Pattern?필자가 2년도 더 전에 아키텍처를 공부하면서 작성했던 글이다. 자세한 설명은 해당..
[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를 사용할 때 가장 기..