본문 바로가기

Android/Utility

(16)
[Android] 정책 변경 후 구글 플레이스토어 개발자 계정 생성부터 신규 앱 배포까지 과정 정리 - 2주간 테스터 20명 유지하기 구글 플레이 콘솔 정책 변경에 따라, 23년 11월 13일 이후 개발자 계정을 만든 개발자는 특정 테스트 요구사항을 충족해야 Google play에 앱을 게시할 수 있도록 변경되었다. 필자는 앱 개발을 19년도부터 진행했지만, 개발자 계정을 만들고 배포하기까지의 과정이 간단했기 때문에 별다른 생각을 하지 않고 필요하면 그때 개발자 계정을 만들어서 사용해야겠다고 생각했다. 하지만 이렇게 신규 개발자 계정에 대한 정책이 바뀌고 나서, 한번 찾아보니 여간 귀찮은 프로세스가 아닌지라 정책이 바뀌고 나면 미리 만들어서 프로세스를 진행시켜 둬야겠다고 생각했다. 따라서, 이번 글에는 간단하게 앱을 만들어서 그 앱을 배포하기 까지의 과정을 간단하게, 신규 개발자가 궁금할만한 것들만 작성해보고자 한다. 우선, 개발자 계..
[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..
[Git] Git에서 Head에 잘못 커밋했을 때 커밋 가져오는 방법 최근에 필자가 실무를 진행하면서 난생처음으로 check out을 한 상태로 작업을 진행하고 커밋을 하는 일이 발생했다. 처음 있던 일이었고, 그냥 당연히 sourceTree에서 커밋 리스트로 볼 수 있겠지라고 생각하고 원래 작업을 하려고 했던 브랜치로 체크아웃을 하는 순간, checkout 된 상태에서 작업한 리스트가 모두 안 보이는 것이 아닌가! 멘탈을 잡고 방법을 찾아보다 터미널을 사용해서 git에 commit 한 List를 가져오고, check out 하여 커밋을 가져오는 방법을 찾았고, 앞으로도 다양하게 사용할 수 있을 것이라 생각되어 포스팅을 하고자 한다. 필자처럼 소스트리나 포크같은 Git GUI 툴을 메인으로 사용하지 않는 사람이라면 다들 알고 있을 법한 방법이지만, 그렇지 않은 사람들에게 ..
[Android] RecyclerView Drag and Drop 회사에서 개발 업무를 진행하다, 요구사항에 맞춰서 아이템의 순서를 Drag & Drop으로 변경할 수 있도록 개발해야 했다. iOS의 경우에는 이런 이벤트를 쉽게 moveRow라는 것을 통해서 구현할 수 있다고 하는데, 안드로이드에서는 이벤트를 직접 구현하여 적용시켜야 했다. 구글링을 통해 방법을 찾아서 기능 구현을 진행했고, 그 방법에 대하여 작성해보고자 한다. 구현의 순서는 다음과 같다. 1. ItemMoveEvent Class를 만든다. 2. Activity에서 적용할 RecyclerView에 Event를 적용시킨다. 3. Adapter에서 아이템이 이동될 때의 처리를 해준다. 아주 간단하게 Drag & Drop에 대한 이벤트를 구현할 수 있어 보이지만, 관련된 정보를 찾는 것에 시간이 생각보다 오..
[Android] Biometric을 사용하여 생체 인증 추가하기. 생체 인증에 대하여 찾아볼 기회가 생겨 Biometric 라이브러리를 사용하여 생체 인증을 추가해 보았다. 필자가 한 2~3년 전에 생체 인증을 적용했을 때는 Biometric이 아닌 FingerPrint를 사용했던 기억이 있는데, Biometric을 사용하도록 바뀐 지 꽤 시간이 지난 것 같다. 따라서, 생체 인증에 대하여 찾아보고 적용한 것에 대하여 간단하게 정리하는 글을 작성하고자 한다. 우선, Biometric 라이브러리를 추가해주도록 한다. // BioMetric implementation 'androidx.biometric:biometric:1.1.0' 안드로이드 공식 페이지에서는 1.2.0-alpha04 버전이 최신 버전이지만 정식 배포된 1.1.0 버전과 큰 차이점을 보이지 않는 것으로 판..
[Android] Jacoco를 사용하여 코드 커버리지 확인하기. 이전에 한창 테스트 코드에 관련하여 기본 개념을 공부할 때 코드 커버리지를 확인하는 방법이 있다는 것을 확인하고, 나중에 시간 되면 확인해봐야겠다 싶어서 메모해두었는데.. 완전히 잊고 있다가 발견하게 되어 이에 대하여 적용하고 글을 작성해보려 한다. 우선, 코드 커버리지란 무엇인가? 테스트 케이스가 얼마나 충분한가를 나타내는 지표로, 테스트를 진행하였을 때 코드 자체가 얼마나 실행되었는지에 대한 수치. 라고 한다. 즉, 개발자가 작성한 테스트 코드를 실행시켜 보고, 해당 테스트 코드가 작성된 코드를 얼마만큼 검증했는지를 수치로 나타낸 것이다. 이에 대해서는 이후 결과를 보면 확실하게 이해가 가능하니, 이해가 잘 되지 않아도 상관없다. 여기서 테스트는 크게 블랙박스 테스트와 화이트박스 테스트로 나누어지는데..