안드로이드 공부 노트59 [Android-Compose] Spacer를 이용해 간단한 선 만들기 이번 포스팅은 정말 간단한 포스팅이다. 개발 시 간단한 수직 선이나 수평선을 만들어야 할 때가 있다. 그럴 때 컴포즈에서는 어떤 식으로 처리하는지 알아보자! 우선 많은 방법들이 있지만 이번 예제에서는 Spacer()컴포저블 함수를 사용해 볼 것이다. Spacer함수는 보통 컴포넌트 간의 공간을 만들고, 레이아웃의 일부 영역을 비워두기 위한 용도로 사용하는데 간단한 선도 만들 수 있다. 그럼 아래 예제를 통해 어떤 식으로 만드는지 알아보자! # 수직 선 만들기 // 너비가 1dp인 수직선 만들기 Spacer(modifier = Modifier .width(1.dp) .fillMaxHeight() .background(Color.Black) ) 이런 식으로 width값을 주어 간단한 수직선을 만들 수 있다... 2023. 5. 25. [Android-Hilt] 안드로이드 Hilt(힐트)란? 이번 포스팅은 드디어 의존성 주입 (dependency injection, di) 라이브러리중 하나인 힐트를 알아보도록 하자! 우선 들어가기전 DI의 개념을 모르면 어려울 수도 있기 때문에 학습을 하고 이 글을 보는걸 추천한다. DI에 대한 포스팅은 추후에 추가 하도록 하겠다.# Hilt(힐트)란?간단하게 정리하자면 안드로이드에서 쉽게 의존성을 관리해주고 주입해주는 라이브러리라고 생각하면 된다. 또한 기존에 많이 쓰이던 Dagger(대거)를 기반으로 만들어졌다. 대거는 러닝커브가 높은 편이라서 학습하기가 어렵다 그리고 구글에서도 힐트를 지원해주고 있어서 안쓸 이유가 없는거 같다.# 사용법## gradle 추가- build.gradleplugins { ... id 'com.google.dagger.hilt.. 2023. 4. 19. [Firebase - 휴대폰 인증 오류 ] SMS verification code request failed: unknown status code: 17010 null 현재 회사에서 신규 프로젝트를 하는 중 휴대폰 번호 인증 부분이 있는데 파이어베이스에서 제공하는 Authentication 기능을 사용하기로 했다. 하지만 휴대폰 번호를 입력하고 인증받기를 누르는데 아래와 같은 오류가 발생했다. SMS verification code request failed: unknown status code: 17010 null 아무리 휴대폰 번호를 입력해도 같은 오류만 발생할 뿐 나아지지 않았다. 여기서 중요한 점은 테스트번호는 되는 것이었다. 아무튼 TMI는 뒤로하고 오류 발생 원인을 적어보도록 하겠다. # 오류 발생 원인 나도 저 위에있는 오류가 무엇인지 당연 구글링을 해봤고 여러 문서들 중 가장 정확한? 글을 가져와봤다. When you repetitively use a s.. 2023. 4. 18. [배포 - 경고] 안드로이드 구글 플레이 콘솔 앱 배포시 경고 "com.google.android.gms:play-services-safetynet' 해결 방법 이번 포스팅은 오류는 아니지만 배포 시 경고 메시지이다. (사실 전부터 이러한 경고가 배포 시 있었다..) # 경고 원인 위 사진처럼 구글이 경고사항을 알려준다 위 내용을 번역하자면 아래와 같이 나온다. SafetyNet 증명 API가 중단되고 새로운 Play Integrity API로 대체되고 있습니다. 사용자 중단을 방지하려면 가능한 빨리 마이그레이션을 시작하십시오. Play Integrity API에는 Google Play 라이선스 및 더 나은 오류 메시지와 같은 SafetyNet 증명이 제공하는 모든 무결성 신호가 포함되어 있습니다. https://developer.android.com/training/safetynet/deprecation-timeline에서 자세히 알아보고 마이그레이션을 시작하.. 2023. 2. 21. [Android-FCM] 앱이 Background일때 푸시가 오면onMessageReceived가 작동하지 않는 이슈 해결방법 이번 포스팅은 삽질 포스팅이다. 무려 이 이슈 때문에 4일을 여러 가지 시도를 해보면서 고민해 봤던 거 같다. 우선 결론부터 말하자면 프론트 쪽을 바꿀게 아니라 백엔드 쪽을 바꿔야 한다. 나는 이것도 모르고 프론트에서 4일 동안 헤맸다. # 문제 상황 내가 구현하려고 했던 로직이고 간단하게 그려보았다 여기서 문제 상황은 3~4번째 사이에서 문제가 일어났다. 푸시 메시지를 수신 시 자동으로 호출되는 onMessageReceived 메서드에서 노티 클릭 시 PendingIntent를 만들어 putExtra로 데이터를 SplashActivity에 넘겨주었다. 하지만 SplashActivity에서 getStringExtra로 값을 로그로 출력해 보면 값이 비어있었다. 여기서 나는 아래와 같은 시도들을 했다. -.. 2023. 2. 9. [Android] DI(Dependncy Injection) 알아보기! 이번 공부 할 내용은 안드로이드 개발 시 필수 적인 DI를 알아보겠다. # DI(Dependncy Injection)란? 의존성 주입을 먼저 알아보기 전에 의존성을 알아야 이해가 더 쉽기 때문에 의존성을 먼저 알아보자! ## 의존성(Dependncy)이란? - 객체지향 언어에서는 두 클래스 간 관계를 의미한다. 예를 들면 "A.class가 B.class를 의존한다"라고 했을 때 B.class가 변경 또는 추가가 되면 A.class도 영향을 미치는 것이다. 더욱더 자세히 예제를 만들어 보면 "자동차는 엔진에 의존한다"라는 의존성 예제가 있으면 엔진을 수정하게 되면 수정된 엔진에 따라서 자동차를 수정해야 한다. 엔진의 변화가 자동차에게도 영향을 미쳤기 때문에 자동차는 엔진에 의존한다고 볼 수 있다. 이제 이.. 2023. 2. 5. 이전 1 2 3 4 5 6 7 8 ··· 10 다음