반응형 안드로이드/코틀린35 media3의 exoPlayer - ComposeUI 이번에 회사에서 exoPlayer2를 쓰고 있다가 media3로의 전환을 시도했는데요. 처음에는 exoPlayer 자체가 레거시한 코드라고 생각해서 media3에 있는 exoPlayer도 쓰지 않을 예정이었습니다만, 잘 찾아보니 exoPlayer의 코드와 media3에서 제공해주는 코드 중 중복되는 것들이 많아 이를 한 번에 관리하고자 주체를 media3 라이브러리로 옮긴 것에 불과해 사용해도 문제가 없겠다는 판단을 하게 되었습니다. 그래서 exoPlayer는 그대로 사용하되, 라이브러리만 exoPlayer2에서 media3로 이전해왔습니다. 하지만 기존에 Java로 Activity가 구성되어 있어 이왕 하는 김에 Compose UI로 이전해보고자 ExoPlayer를 구성했는데, 이것 참 ExoPlaye.. 2025. 4. 16. Kotlin - Dispatcher 매번 coroutine을 사용할 때 마다 Dispatcher를 어디에 두고 쓰는 것이 좋은가 고민할 때가 있었는데요.(뭐, Retrofit을 쓰는데 Main을 쓴다던가 UI를 Default에서 그린다던가 하는 개념은 아닙니다...) 그 중 자주 사용하면서 고민이 제일 많이 되는 부분은 아무래도 그 쓰임새가 조금 불명확한 Dispatcher.Default 였습니다. 그래서 언젠가 한 번 개념 정리를 다시하고 가야겠다 생각했었는데, 얼마전 면접에서 이 부분을 물어보더라구요. 이제 연차도 좀 쌓이고 해서 이런 부분에 대해서 어떻게 사용하고 있는지는 설명할 수 있는데 아직도 개념적인 부분을 매끄럽게 설명하려니 말문이 막혀서 한 번 정리해보고자 합니다.Dispatcher란? Dispatcher란 코루틴을 어떤 방.. 2025. 4. 1. EditText와 RecyclerView(list에서 EditText 사용시 주의점) 회사에서 작업을 하던 도중 EditText에 관해 화가 나는 상황을 겪었는데요. List 내에 EditText가 존재하는 View가 동적으로 추가할 수도 있고 제거할 수도 있는 그런 류의 아이템을 작업해야 했던 경험이 있습니다. 처음에는 아무 생각 없이 Compose로 작업하다가 Compose 버전이 낮아 한국어 복사 버그 이슈가 있어 다시 xml로 회귀했는데... EditText도 큰 복병이 있을 줄은 몰랐네요. 그래서 오늘 제가 소개할 내용은 EditText를 List 내에서 사용할 경우 발생할 수 있는 문제 중 하나입니다. EditText 내부 텍스트들이 전부 마지막으로 생성된 Item의 EditText의 Text로 덮어쓰여지는 문제인데요. 작업을 하다가 다른 화면으로 이동 후 다시 돌아왔을 때.. 2024. 10. 24. Android PhotoPicker https://developer.android.com/training/data-storage/shared/photopicker 사진 선택 도구 | Android DevelopersDataStore offers a more modern way of storing local data. You should use DataStore instead of SharedPreferences. Read the DataStore guide for more information. 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 사진 선택 도구 컬developer.android.com 오늘 설명하려는 라이브러리입니다. 회사에서 적용하고자 하니, 이슈가 많아 정리를 위해 들고 왔습니다. 분명 안.. 2024. 8. 19. Glide로 이미지 stroke 만들기 안드로이드 개발을 하다가 이미지를 업로드하고 다운로드 하는 과정 그 어딘가에서 항상 이미지를 뷰에 뿌려주는 일들이 있는데, 대부분 이미지를 사각형으로 보여주지 않고 모서리 부분에 라운딩을 먹여 살짝 곡선으로 보여주는 디자인들이 많습니다. 저는 디자인을 잘 모르고 토도 달지 않는 편이라 매 번 비슷한 디자인이 나올 때 마다 대충 이게 UI의 공식 같은 건가 하면서 지나갔는데요. 요즘은 라운딩에 stroke까지 포함된 부분이 더 많이 보이더라구요. 그 덕분에 시간을 많이 썼습니다. 디자이너분들은 당연히 이미지 외곽에 stroke를 뿌려주는 게 기본으로 제공되는 줄 알고 있더라구요. 뭐지, 나만 모르는 기본으로 제공되는 무언가가 있는 건가... 그런 생각도 했는데 일단은 못찾아서 직접 만들기로 했습니다. 한 .. 2024. 5. 21. Generic 이란 처음 학교에서 자바를 배울 때 제네릭을 들었었는데, 이때는 뭔가 제네릭이 크게 와닿지도 않고 학교 과제 정도를 할 때에는 제네릭을 크게 만들어볼 일도 없어서 무심코 넘어갔던 기억이 있네요. 안드로이드 관련 포스트를 보다가 제네릭에 대한 이야기를 발견해서 정리할 겸 한 번 작성해봅니다. 참고: https://kotlinlang.org/docs/generics.html#unchecked-casts Generics: in, out, where | Kotlin kotlinlang.org ArrayList texts = new ArrayList(); 자바를 이용해 코드를 작성하다보면 위와 같은 코드를 자주 발견하곤 했습니다. 이는 ArrayList라는 Class를 선언할 때 그 클래스 내부에서 사용하는 변수의 타.. 2023. 12. 8. 이전 1 2 3 4 ··· 6 다음 728x90