코틀린48 [Android] 안드로이드 중요 값 숨기기 - local.properties를 사용하여 키 관리하기 예제(Kotlin) / Unresolved reference: BuildConfig 해결 방법 개발을 하다 보면 API키 값이나 중요 값등을 숨기고 싶을 때가 있다. 그럴 때는 local.properties를 사용하면 간단하게 숨김이 가능하다. 이제 차근차근 알아보자! ✅ 깃을 사용한다면. gitignore에 /build , /local.properties 이 두 가지가 들어가 있다고 가정하고 시작해 보겠다!# 사용방법아래 예제에서는 API_KEY값을 숨기는 예제를 해보겠다.## local.properties 변수 값 설정우선 가장 먼저 해야 할 것은 local.properties파일에 숨기고 싶은 값을 키 - 값 형식으로 작성해 준다. local.properties>API_KEY = "12345678910" ## build.gradle.kts(app) 키 값 불러오기앱 수준의 gradle에서 .. 2024. 8. 31. [오류] app:minifyReleaseWithR8 FAILED / AGPBI: {"kind":"error","text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in 이번 오류 포스팅은 debug 모드로 빌드했을 때는 문제가 없었는데 release 모드로 빌드하니 오류 발생에 대해 해결방법을 포스팅해 보겠다. 물론 다른 경우에 따라 이 해결방법이 아닐 수도 있지만 나에 경우는 이 오류였기 때문에 혹시나 나랑 같은 분이 계실까 봐 공유를 한다.# 오류 발단기존 프로젝트에서 Active Build Variant를 release로 바꾸고 빌드하니 아래와 같은 오류가 발생했다. AGPBI: {"kind":"error", "text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/(폴.. 2024. 6. 19. [Kotlin-Coroutine] coroutine Mutex(상호배제) 예제를 통한 사용법 이번 포스팅은 이전 개발자분이 만들어 놓은 코드 분석 중 처음 접한 Coroutine의 Mutex를 사용한 코드가 있어 알아둬야겠다고 생각해서 적어본다. 우선 아래 정리를 통해 Mutex대해 알아보자!# Mutex란? (특징)- Mutual Exclusion의 약자로 "상호 배제"를 의미한다. ("상호 배제"에 관해서는 시간이 난다면 따로 블로그 포스팅을 해야겠다..) - 여러 코루틴이 동시에 공유 자원에 접근하지 못하게 하여 데이터 일관성을 유지시켜 준다. - 한 코루틴이 Mutex를 획득하면, 다른 코루틴은 해당 Mutex가 해제될 때까지 대기하게 된다.# Mutex 사용 이유그럼 Mutex는 왜 사용하냐? 위 Mutex에 특징과 거의 비슷한데 간단하게 정리하면 이유는 아래와 같다여러 코루틴이 동시에.. 2024. 6. 9. [Android] 네트워크 보안 구성 SSL 핀셋(pinset) 검증 SHA-265 키 구하기 - 공개키 핀닝 (android network-security-config pin-set key setting) SSL Pinning을 해야하는 이유 with android Glide javax.net.ssl.SSLHandshakeException: Pin.. 이번 공부노트는 안드로이드 SSL Pinning 할 때 여러 가지 방식이 있지만 Network Security Configuration 방식에서 pin-set SHA-265 Key를 구하는 방법을 포스팅해 보겠다. 나도 회사에서 받은 프로젝트에 Network Security Configuration로 SSL Pinning이 되어있어서 키 값을 구해야 하는 상황이었다. 구글링을 해보면 전부 Gradle를 통해서 다른 SHA-265 Key 즉 D9:8F:58~~~~ 이런 식으로 되어있는 키 값 구하는 법 밖에 안 나와서 나처럼 pin-set SHA-265 key를 구하고 싶은 사람을 위해 포스팅을 하기로 결정했다. 본 포스팅은 SHA-265 key 값을 구하는 게 주목적이기 때문에 SSL Pinning을 해.. 2024. 3. 20. [디자인패턴 - 전략패턴] 전략패턴이란? 예제를 통해 이해하기 (Strategy Pattern) for Head First Design Patterns (헤드퍼스트 디자인 패턴 참조) 이번 포스팅을 시작하기 앞서 개념과 포스팅의 전체적인 내용은 한빛미디어 / 에릭 프리먼 , 엘리자베스 롭슨 / 헤드 퍼스트 디자인 패턴(개정판)을 참조했음을 밝히고 시작하겠다. # 전략패턴(Strategy Pattern)이란? 전략 패턴 ( Strategy Pattern ) 은 알고리즘 군을 정의하고 캡슐화해 서 각각 의 알고리즘 군을 수정해서 쓸 수 있게 해 줍니다. 전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다. 위에서 나오는 말은 책에서 가져온 전략패턴의 사전적 정의이다. 나는 처음에 저런 말을 듣고 전혀 이해가 가지 않았다. 그러므로 디자인패턴을 전혀 모른 상태에서 저 내용이 이해가 안 가는 건 정상이니 너무 걱정 안 해도 될 것이다. 이제 아래에서 예제를.. 2024. 1. 31. [Android] 안드로이드 인앱결제 관련 이론 정리 이번 포스팅을 해볼것은 안드로이드 앱내에 인앱결제 관련해서 이론적으로 정리해보겠다. ※ 본 포스팅의 참고 문서는 최신 문서가 아닌 예전 문서를 바탕으로 작성 된 것이므로 잘못된 내용이 있으면 댓글 부탁드립니다 :)# 인앱결제의 종류## 1. 일회성 제품 - 일회성 제품은 사용자가 결제 방법으로 반복되지 않는 단일 요금을 지급함으로써 구매할 수 있는 컨텐츠. Google Play 결제 라이브러리에서는 정기 결제를 "INAPP"이라고 칭한다. 일회성 제품은 아래 두가지 종류로 나뉜다.👉 소비성 제품 : 소비성 제품은 사용자가 게임 내 컨텐츠를 받기 위해 소비하는 제품. ex) 게임 머니 👉 비소비성 제품 : 비소비성 제품은 한 번 구매하면 영구적인 혜택을 제공하는 제품 ex) 프리미엄 업그레이드## 2. 정.. 2023. 12. 1. 이전 1 2 3 4 5 ··· 8 다음