본문 바로가기

분류 전체보기

(174)
[Firebase] Android12(SDK 31)을 Target할 때 FCM 변경점. (Feat. PendingIntent) TargetSDK 31 (Android12)를 대응하는 작업 도중, FCM에서 오류가 발생하여 이를 해결하는 과정을 작성해 두려고 한다. 여기서 FCM이란, Firebase Cloud Messaging의 약자로, Firebase에서 제공해주는 무료 푸시 서비스. 라고 생각하면 된다. 이번 게시글에서는 푸시 설정을 하는 방법에 대해서는 생략하고, targetSdk를 31로 설정하였을 때(Android 12), FMC에서 수정되어야 할 사항에 대하여 알아보고자 한다. 우선, target Sdk Version을 31로 올리고 여러 가지 확인을 하던 와중, Firebase에서 Push를 테스트하는데 다음과 같은 오류 메시지를 볼 수 있었다. java.lang.IllegalArgumentException: *.*..
[Bitrise] Bitrise를 사용해보자 - 4. Trigger Setting 본 게시글은 이전 게시글에서 이어서 작성된 부분입니다. 2022.03.30 - [Android/CI CD] - [Bitrise] Bitrise를 사용해보자 - 1. 기본 Setting 2022.04.01 - [Android/CI CD] - [Bitrise] Bitrise를 사용해보자 - 2. Slack 연동 2022.04.06 - [Android/CI CD] - [Bitrise] Bitrise를 사용해보자 - 3. Unit Test 실제로 사용하는게 아니라 테스트를 위해서 작업해서 그런지는 모르겠지만, Bitrsize에서 적용하면 좋을 것 같아 보이는 기능을 찾아 추가해보려 기능을 찾아보아도 사이닝을 하고 앱을 스토어에 배포하는 것 외에는 추가할만한게 눈에 띄지 않았다. 따라서, Trigger를 사용하여..
[Bitrise] Bitrise를 사용해보자 - 3. Unit Test 본 게시글은 이전 게시글에 이어서 작성된 부분입니다. 2022.03.30 - [Android/CI CD] - [Bitrise] Bitrise를 사용해보자 - 1. 기본 Setting 2022.04.01 - [Android/CI CD] - [Bitrise] Bitrise를 사용해보자 - 2. Slack 연동 이번에는 Bitrise를 사용한 Unit Test를 수행해 볼 예정이다. GIthub Actions에서도 Unit Test를 해보고 싶었는데, 설정해 줄 부분도 많고 설정했을 때 정상적으로 잘 동작하지 않아서 Bitrise에서 적용해 보았다. Bitrise에서 제공하는 Workflow Recipes를 사용하여 VM환경에서 Unit Test를 진행하도록 작업하였다. 우선, 이전 게시글에서 작성했던 Wor..
[Android] MVP Pattern을 적용해보자. 최근에 진행되는 프로젝트를 보면 MVVM Pattern을 많이 사용하여 개발을 진행하지만, 그에 못지않게 MVP Pattern도 많이 사용하는 것으로 보인다. 2020.06.11 - [Android/Architecture] - [Android] MVC, MVP, MVVM 기본 개념 필자가 몇 년 전에 MVC, MVP, MVVM Pattern에 대한 기본 개념을 간단하게 정리한 글이 있는데, 실제로 해당 패턴을 사용하여 구현한 적이 없어 해당 패턴으로 구현된 프로젝트를 보니 이해하는 것이 생각보다 쉽지 않았다. 따라서, 해당 패턴을 다시 한번 정리하고 샘플 예제를 만들어서 이해도를 높이고자 한다. 우선, MVP Pattern에 대하여 다시 한번 확인하고 넘어가보도록 하자. Model, View, Prese..
[Android] MVI Pattern을 적용해보자. 본 게시글은 이전 게시글에서 이어서 작성된 부분입니다. 2022.04.30 - [Android/Architecture] - [Android] MVI Pattern MVI Pattern에 대한 기본적인 정리를 해보았으니, 이번에는 실제로 예제를 만들어보면서 조금 더 확실하게 이해해보고자 한다. 필자는 MVVM + MVI 형태의 샘플 코드를 만들어보았다. 필자가 샘플 코드를 작성하면서 진행했던 흐름대로 글을 작성할 생각이다. 프로젝트의 기본적인 구조는 Clean Architecture Sample에 사용된 것들을 가져왔으며, Module을 나누어서 생성해도 됐겠지만, 조금 더 기본적인 구조에 초점을 맞춰서 이해하기 위하여 하나의 모듈로 만들었다. 기본적인 구조에 대한 것은 생략하고, MVI를 적용하는데 필요..
[Android] MVI Pattern ? 최근 스터디를 진행하면서 기술 블로그를 탐방하다 MVI Pattern을 보았다. 이전에 디자인 패턴에 대하여 공부할 때 확인했던 패턴인데, 그 당시에는 기존의 디자인 패턴과는 좀 다른 모습을 보이고, 이해하기에 어려움이 있는 것으로 보여서 패스했던 기억이 있다. 이제야 다시 한번 MVI Pettern에 대하여 스터디를 진행했고, 이해한 것들을 토대로 글을 한번 작성해보고자 한다. MVI Pattern에 대하여 스터디하기 위해 여러 게시글을 보면 항상 나오는 그림이 있다. 그리고, 이런 것도 말이다. View ( Model ( Intent( ) ) ) 필자가 클린 아키텍처에 대한 글을 작성했을 때도 그랬지만, 맨땅에 보면 이해하기가 쉽지 않다. MVI Pattern에 대하여 이해하고 해당 Flow를 확인하..
[Lint] Lint에 Custom rule을 추가해보자. - 5. UnitTest를 통한 Lint 검증 본 게시글은 이전 게시글에 이어서 작성된 부분입니다. 2022.04.13 - [Android/Lint] - [Lint] Lint에 Custom rule을 추가해보자. - 1. 기본 설정 및 적용 2022.04.15 - [Android/Lint] - [Lint] Lint에 Custom rule을 추가해보자. - 2. XML Rule 2022.04.17 - [Android/Lint] - [Lint] Lint에 Custom rule을 추가해보자. - 3. Code Convention Rule 2022.04.19 - [Android/Lint] - [Lint] Lint에 Custom rule을 추가해보자. - 4. LintFix를 통한 Lint 수정 이번 게시글에서는 작성한 Lint를 사용하여 UnitTest를 ..
[Mockito] Spy Object를 사용하여 Unit Test를 해보자. 2022.02.24 - [Android/TDD] - [Mockito] Mockito를 사용하여 Unit Test 를 해보자 (feat. Truth + Junit4) 2022.02.25 - [Android/TDD] - [Mockito] Mockito를 사용해 Instrumented Unit Test를 해보자 필자가 이전에 Mockito를 사용하여 Test 작업을 했던 것들에 대한 글이 몇 개 존재한다. 해당 게시글에서는 아주 간단한 Sample Object를 사용하여, 아주 간단한 Test만 진행했었기 때문에 쉬운 난이도로 테스트를 진행해 볼 수 있었다. 하지만, 필자가 실제로 프로젝트에 Unit Test를 적용해보려고 하니 생각보다 정상적으로 되는 것이 많이 없었다. Sample과 다르게 상속 받는 것들..