전체 글 (173) 썸네일형 리스트형 [Android] Android Koala 적용과 Gradle 8.5.2 버전 대응하기 최근 업무를 진행하면서, 라이브러리의 버전 문제 때문에 kotlin 버전을 올려야 했다.kotlin 버전을 올리는 김에 프로젝트 환경을 전체적으로 업데이트시키자고 마음을 먹었고, 올해 초에 나와 많이 안정화된 android koala와 더불어 gradle을 올리고자 하였다. 해당 버전을 올리면서 많은 부분 수정된 것은 없지만, 그래도 버전을 올리면서 변경된 부분들에 대해 작성하고자 한다.우선, 필자는 android Giraffe를 사용하고 있었는데 해당 버전은 22년 3월에 나온 버전이었다.따라서 최신 버전으로 업데이트 하기 위해 android studio 공식 홈페이지에 방문해서 다운로드 하도록 한다. 다운로드를 한 후, mac 기준 설치 시 중복된 파일들을 물어보는 부분에 "모두 대치"를 클릭하여 최.. [Android] Android 14 (SDK 34) 버전의 Media Permission 설정하기 구글에서 이런 경고를 띄워주고 있다. 생각해 보니 필자는 저번에 버전을 올렸다가, 오류가 발생하고 업데이트가 너무 느려 버전을 다시 내려놓고 깜빡하고 있었다.그래서 그냥 배포하면 되겠거니 싶었는데, Media Permission 부분에 대해서 제대로 된 처리를 하지 않았었다는 것을 알 수 있었다. 이전 글에서는 다른 고려해야 할 것들에 대해 글을 작성했으므로,2024.04.04 - [Android/Android Version] - [Android] Android 14 (SDK 34) 버전을 targetSDK로 사용할 때 주의할 점 몇 가지 이번 글에서는 Permission에 대하여 대응한 부분에 대해 처리한 방법을 간단하게 설명하고자 한다. * 2025.02. 추가Android 15 (SDK 35)에 대.. [Compose] Compose 환경에서 Drag and Drop 기능 구현해보기 - LazyColumn에서의 드래깅 무려 2년 전에 기존 XML을 사용하여 UI를 그릴 때, Drag and Drop 기능을 통해 아이템들의 순서를 변경하는 기능을 구현한 적이 있다.2022.11.12 - [Android/Utility] - [Android] RecyclerView Drag and Drop 필자는 XML을 사용했을 때는 비교적 쉽게(?) 해당 기능을 구현했었다고 기억하고 있는데, Compose 환경에서는 해당 기능을 제공하거나 구현하기 더 간단하지 않을까?라는 생각을 했다. 그래서 실무에서 해당 기능을 구현해 보려고 도전해 봤는데, 존재하는 라이브러리는 코틀린 버전 문제로 사용 못하거나 스크롤 이벤트들이 정상적으로 동작하지 않거나 했고, 믿었던 GPT 마저도 정상적으로 기능을 구현해주지 못해 직접 구현해 보게 되었다. 완벽.. [Firebase] Firebase의 RemoteConfig 데이터를 사용할 때 주의할 점. 필자가 실무에서 Firebase의 RemoteConfig 데이터를 가져와서 사용하는 경우는 대부분 앱의 version을 체크하기 위해서였고, 지금 업무에서도 version 체크하는 용도로 RemoteConfig를 사용하고 있다.그리고 그 RemoteConfig에서 데이터를 가져와 사용하는 부분에서 문제가 발생하여, 필자가 입사하기 전 개발자가 짜둔 코드를 확인해 보았다.코드를 확인하다 보니 생각보다 정확히 알고 있지 않다면 문제가 발생할 수 있겠거니 싶은 부분에서 문제가 생겼었고, 강제 업데이트가 자주 발생했다면 진즉에 문제가 발생했었겠지만 그렇지 않았기 때문에 지금까지 방치되고 있던 문제가 아니었나 싶었다. 그리고 이번 글에서는 간단하게나마 해당 이슈가 발생한 코드와 이유, 해결하는 방법에 대해서 작성.. [Android] CoroutineWorker (WorkManager)를 사용하는 방법과 다양한 옵션. 이전에 작성했던 글인 BatterySaveMode 관련된 작업을 추가할 때도 그랬지만, 실무를 진행하면서 CoroutineWorker를 사용하여 기능을 개발하는 일이 종종 있다.그리고 대부분 생각보다 무겁지 않은 작업을 수행하기 때문에 디테일하에 CoroutineWorker를 살펴볼 일은 많이 없다. 필자도 마찬가지였고, 그래서 CoroutineWorker에서 작업을 할당하고 수행하는 부분에서 문제를 겪어 이유를 찾고 수정하는데 생각보다 많은 시간이 들었다. 따라서, 이번 기회에 CoroutineWorker에 대하여 조금 더 디테일하게 사용하는 방법을 알아보고자 한다.우선,CoroutineWorker를 사용하는 이유는 무엇인가?다양한 이유가 있어서 사용하겠지만 필자가 생각하는 CoroutineWorker.. [Android] BatterySaveMode (PowerSaveMode) 옵션과 유의해야할 점 필자가 업무를 진행하면서 다양한 환경에 대해 고려하고 테스트하면서 업무를 진행했지만, 한 가지 놓쳤던 환경이 있다.그것이 바로 BatterySaveMode(PowerSaveMode)인데, 한국 폰에서는 절전 모드라는 이름의 옵션으로 확인이 가능하다. 이 절전모드에 따라서 달라지는 부분으로 인해 오류가 발생하는 부분이 있었고, 다양한 환경에서 테스트를 해보다가 우연히 동료의 핸드폰에 절전모드가 되어있어 해당 문제의 원인을 발견하여 해결을 했다. 이번 글에서는 간단하게 절전 모드 옵션을 체크하는 방법과, 발생할 수 있는 문제에 대하여 확인해 보도록 하겠다.우선,절전 모드를 체크하는 방법과 옵션을 변경할 수 있는 방법을 알아보자. 절전모드를 체크하기 위해서는 PowerManager를 사용하여 체크를 해야 하므.. [Android] Network 연결 여부를 화면과 API에서 체크하는 방법. 업무를 진행하다 보면, 네트워크가 끊겼을 때 혹은 네트워크가 불안정한 경우 어떻게 처리할 것인가? 에 대한 고민을 하게 된다. 네트워크에 연결이 되어 있지 않으면 화면을 변경한다던지, 네트워크에 관련된 메시지를 보여준다던지 등 다양한 방법으로 처리가 가능한 부분인데, 이번에는 이 네트워크 연결에 대한 체크를 할 수 있도록 간단한 코드를 안내하고자 한다. 필자는 Koin을 사용하고, Compose 환경에서 예제를 만들었지만 DI를 통한 주입 방식이 다른 경우 것을 제외하고는 대부분의 환경에서 동일하게 사용이 가능할 것이다.우선,Koin을 사용하여 네트워크에 관련된 Util을 주입해주어야 하고, Compose를 사용하기 때문에 다음과 같은 Koin 라이브러리를 추가해 주고 시작하도록 하겠다.implement.. [Compose] Compose환경 WebView에서 JavascriptInterface를 사용할 때 주의할 점 필자가 실무를 진행하면서 Compose 환경에서 webView를 사용해야 할 케이스가 생겼다.webView는 여러모로 많이 사용해 보았기 때문에 아주 쉽게 구현하여 확인하고 끝낼 생각이었지만, 생각지도 못한 부분에서 오류가 발생하여 해결하는데 시간을 좀 소모하였다. 명확하게 원인을 파악한 것은 아니지만, 같은 문제를 해결하고 있는 사람들을 위해 문제 점과 해결한 방법에 대해서 작성해보고자 한다.우선 문제점은 다음과 같다. 웹뷰를 선언하여 특정 버튼을 눌렀을 때, webView를 열어 이후 프로세스를 진행하도록 해야 한다.여기서 webView에서 android로 호출하는 javascriptInterface는 정상적으로 동작하고 있었으나, android에서 webView로 호출하는 javascriptInte.. 이전 1 2 3 4 5 6 ··· 22 다음 목록 더보기