분류 전체보기 (168) 썸네일형 리스트형 [Android] 정책 변경 후 구글 플레이스토어 개발자 계정 생성부터 신규 앱 배포까지 과정 정리 - 2주간 테스터 20명 유지하기 구글 플레이 콘솔 정책 변경에 따라, 23년 11월 13일 이후 개발자 계정을 만든 개발자는 특정 테스트 요구사항을 충족해야 Google play에 앱을 게시할 수 있도록 변경되었다. 필자는 앱 개발을 19년도부터 진행했지만, 개발자 계정을 만들고 배포하기까지의 과정이 간단했기 때문에 별다른 생각을 하지 않고 필요하면 그때 개발자 계정을 만들어서 사용해야겠다고 생각했다. 하지만 이렇게 신규 개발자 계정에 대한 정책이 바뀌고 나서, 한번 찾아보니 여간 귀찮은 프로세스가 아닌지라 정책이 바뀌고 나면 미리 만들어서 프로세스를 진행시켜 둬야겠다고 생각했다. 따라서, 이번 글에는 간단하게 앱을 만들어서 그 앱을 배포하기 까지의 과정을 간단하게, 신규 개발자가 궁금할만한 것들만 작성해보고자 한다.우선, 개발자 계정.. [Compose] LazyList에서 스크롤을 커스텀하기 위해 FlingBehavior를 사용해보자. 필자가 실무를 진행하다, LazyColumn의 스크롤 애니메이션을 직접 커스텀해야 하는 이슈가 발생했다. 지금까지 LazyColumn을 사용할 때는 많은 양의 item List를 보여줄 때 사용하는 케이스가 많아서, 직접 애니메이션에 대해서 커스텀을 하기보다는 그냥 사용자가 스크롤하는 대로 보여주면 됐다. 따라서, 스크롤에 대해서 별도로 건들지 않고 필요 시 State만 컨트롤해 주는 정도로 사용했다. 하지만 이번에 직접 스크롤을 커스텀하다보니 생각보다 자료도 많이 없었고, 검색하기 위한 키워드를 찾는 것조차 생각보다 시간이 오래 걸렸다. 따라서, 이번 글에서는 그렇게 깊지는 않지만 간단하게 스크롤을 커스텀할 수 있는 코드를 설명하고자 한다. 우선, 기본적으로 LazyColumn을 사용하면 다음과 같이 .. [Compose] Compose 환경에서 Circular Scroll Pager와 다른 UI를 가지는 Pager를 구현해보자. Compose 환경에서는 Pager를 아주 쉽게 구현을 할 수 있다. 하지만, 실무에서 적용하기 위해서는 Pager를 구현하기만 하면 되는 것이 아니라 몇 가지 기본적인 기능을 추가해야 사용이 가능하다. 따라서, 몇 가지 기본적인 기능 중 가장 많이 사용이 되는 두 가지 기능에 대해서 설명하고자 한다. 첫 번째는 Circular Scroll이 가능한 Pager처럼 보이도록, 첫 번째, 마지막 index에서 좌 우로 이동하려고 했을 때 각각 마지막, 첫 번째 index의 아이템을 보여주는 방법이고 두 번째는 Pager로 화면을 스크롤할 때 각각 다른 Compose UI를 보여주도록 설정하는 방법이다. 다양한 방법으로 2가지를 모두 구현할 수 있는데 필자가 적용한 방법은 비교적 간단한 방법이라고 생각되며, .. [Compose] Compose 환경에서 Pull To Refresh를 구현해보자. 예전에 업무를 진행하다 위에서 아래로 잡아 당기면서 화면을 갱신하는 pull to refresh를 xml 환경에서 구현해 본 경험이 있다. 하지만 이번에는 Compose 환경이다보니 어떻게 해야 하나 잠깐 찾아보았는데, 이처럼 해당 기능 자체를 제공해주고 있었다. 이번 글에서는 해당 기능을 사용하여 아주 간단하게 Pull to Refresh 기능을 구현해보고자 한다. 우선, 해당 기능은 Material에서 제공하기 때문에 해당 dependency를 추가해 준다. implementation "androidx.compose.material:material:$material_version" 다음으로는, pull to refresh를 수행하기 위한 값을 선언해 줘야 하는데, 맨 위에 pullRefresh 함수를.. [Android] 음성 녹음을 하고, 저장해보자. Ffmpeg에 이어서, 업무를 진행하다가 이번엔 음성을 녹음하고 저장하는 기능을 추가하게 되었다. 정말 간단하게 녹음 및 재생이 가능한데, 이번 글에서는 그 간단한 음성을 녹음하고, 재생하는 방법에 대해서 알아보고자 한다. 우선, 다른 작업을 하기 앞서 음성 녹음을 진행하는데 반드시 필요한 권한을 추가해 주도록 한다. manifext 파일에 추가를 해줘야할 뿐 아니라, 음성 녹음 기능을 실행하기 전에 반드시 위의 권한을 사용자로부터 받고 실행해야 한다. 본 게시글에서는 사용자로부터 권한을 받는 로직은 제외하고 작성하도록 하겠다. 다음으로 음성을 녹음하고, 재생하기 위해서 필요한 클래스에 대해서 알아보자. 음성 녹음과 재생을 위해서는 별다른 라이브러리를 추가하거나 할 필요 없이, 안드로이드에서 자체적으로 .. [Android] ffmpeg를 사용하여 동영상의 용량을 줄여보자. 필자가 업무를 진행하면서 미디어 파일을 공유하는 작업을 진행한 적이 있는데, 동영상 파일의 경우 높은 용량의 파일을 공유하려는 케이스가 상당히 많았다. 그래서 동영상 용량 자체를 줄인 후에, 새롭게 인코딩 된 영상 파일을 공유하면 좋겠다.라고 생각하여 찾아보다 발견했던 것이 ffmpeg이다. 이 ffmpeg를 사용하는 방법에 대해서 찾아봤는데, ffmpeg를 사용하는 방법에 대해서는 구글링하면 쉽게 찾아서 적용할 수 있었으나, Android Studio 내부에서 사용하는 방법은 그다지 많은 정보가 있지 않았다. 그래도 발견한 몇 가지 방법에서 가장 쉽게 적용하고 사용할 수 있는 방법에 대해서 설명하고자 한다. 우선, ffmpeg란 무엇인가? FFmpeg은 디지털 음성 스트림과 영상 스트림에 대해서 다양한.. [Android] Notification UI에 대한 몇 가지 변경 방법 지금까지 필자는 아주 간단하게 고정된 Icon만 들어간 App Push를 구현해 왔었다. 보통 앱 아이콘이 들어가고, Title에 Description에 가끔 추가적인 Large Icon정도로 정말 가장 기본적인 모양의 Push만 사용해 왔다. 하지만 이번에 업무를 진행하면서, push에서 볼 수 있는 Notification에 대한 UI를 커스텀해야 하는 경우가 생겼다. 아주 간단하게 수정이 가능한 부분이기는 하지만, 이 UI에 대해서 Custom 하고 적용하는 방법에 대하여 가볍게 작성해보고자 한다. 이번 포스팅에서는 Notification에 대한 모든 코드가 작성된 것이 아닌, UI를 변경하기 위한 부분만 작성했음을 미리 안내하고 글을 작성하겠다. 우선, 기본적으로 Notification 관련하여 B.. [Compose] Tooltip UI를 사용해보자. 보통 실무를 진행하게 되면 디자이너의 요청에 따라 여러 가지 UI를 만들 수밖에 없는데, 이번에는 Tooltip UI를 만들어보게 되었다. 이전에 포스팅 했었던 Flexbox Layout에 들어가 있는 아이템을 클릭했을 때 Tooltip이 뜨면서 추가적인 데이터를 노출시켜주어야 하는 케이스였다. 그에 따라서 Tooltip을 구현할 수 있는 방법을 찾아서 적용을 해보았는데, 일반적으로 Tooltip이 들어가는 경우에는 lazy 하게 데이터가 들어가는 케이스가 드문지, Flexbox Layout 구현에 대한 이해가 부족한지 모르겠지만 다양한 이슈가 발생하였다. 직접 Tooltip을 구현해서 사용하게 되면 위치를 계산하고 레이아웃을 그려줘야 하는데 Flexbox Layout의 경우 아이템의 위치가 UI가 그려.. 이전 1 2 3 4 5 6 7 ··· 21 다음