728x90 분류 전체보기87 [Android] 하나의 앱에서 다중 FirebaseMessagingService 구성 가능 여부 배경회사에서 서비스를 개발하면서 문득 아래와 같은 의문이 들었습니다.안드로이드 프로젝트에는 FCM 메시지를 수신하는 FirebaseMessagingService()를 상속받는 클래스를 정의할 수 있는데 그렇다면 FirebaseMessaingService를 상속받는 다수의 클래스를 정의해 다른 Firebase 프로젝트에서 전송하는 FCM 메시지를 각각 다른 FirebaseMessagingService에서 수신해서 적절히 핸들링할 수 있을까? 위 의문에 대해 개인적인 결론을 내려보았습니다.우선, 기본적으로 하나의 어플리케이션 다수의 Firebase 프로젝트 사용 가능하고, 컴파일 과정 전 Application 클래스에서 초기화됩니다.// 어플리케이션에 하나의 Firebase 프로젝트를 사용하는 경우Fireb.. 2025. 3. 9. [Jetpack Compose] Compose로 Calendar, Horizontal Calendar 예쁘게 직접 만들기 (주간 캘린더, 월간 캘린더) 이전에 xml로 개발할 때에는 캘린더 관련 라이브러리나 레퍼런스가 많았는데 컴포즈는 아직까지는 참고할 레퍼런스가 많지 않은 것 같습니다.안드로이드에서 제공하는 기본 캘린더는 너무 못생겼고, 다른 사람들이 만들어놓은 라이브러리를 사용하는 경우 100% 입맛대로 커스텀하기에는 제한적인 부분들이 있기 때문에 욕심이 생겨 외부 라이브러리를 사용하지 않고 직접 캘린더를 만들어봤습니다. Jetpack Compose를 사용하며 캘린더 개발로 고통받는 다른 안드로이드 개발자들에게 조금이나마 도움이 되었으면 좋겠습니다 :)포스팅에 모든 내용과 코드를 담을 수 없어 레포지토리 링크를 첨부합니다. GitHub - Ojongseok/Compose_Calendar_PracticeContribute to Ojongseok/Com.. 2024. 5. 12. [TellingMe/Android] 텔링미 안드로이드 개발 🔥4차 스프린트🔥 4차 스프린트 리뷰는 살짝 늦었습니다. 개인적으로 이런저런 이유로 바쁜 기간이었고, 팀에서도 백엔드 인수인계 이슈로 서버가 오랜 기간 내려가 있어서 작업을 할 수가 없었어요..흑 이번 스프린트에서 진행한 내용은 화면 전환에 사용되는 Navigation 설계를 개선했고, 소셜로그인 이후 사용자의 상세정보를 기입하는 화면의 UI를 구성하는 작업을 했습니다. 상제정보를 기입하는 화면은 아직 배포되지 않은 관계로 온전히 보여드릴 수는 없지만 대략적인 UI는 다음과 같습니다. 크게 복잡한 화면은 아니지만 Compose로 UI를 구성하면서 xml과는 다른 방식으로 Graph에 접근하기 때문에 조금 까다로웠던 부분들이 있었는데 마지막에서 좀 더 작성하겠습니다. NavGraphBuilder 패턴으로 분리 NavHost.. 2024. 3. 13. [Jetpack Compose] Material3. BottomNavigationBar 배경 제거하기 Jetpack Compose의 Material Design1에서 지원하는 BottomNavigation에 대한 레퍼런스는 꽤나 찾아볼 수 있었지만 Material Design3에서 제공하는 NavigationBar와 관련된 레퍼런스는 정말 찾아보기 힘들었다. 특히 NavigationBarItem의 배경(?), 백그라운드(?)를 제거하고 싶은데 제거하는 방법을 찾기 힘들었다.. 분명 제거하는 속성이 있을거라 생각했고, 관련 속성을 발견하게 되어 공유합니다. NavigationBarItem( ... colors = NavigationBarItemDefaults.colors(indicatorColor = Color.Transparent) ) colors의 매개변수인 indicatorColor의 컬러를 투명한 .. 2024. 3. 10. [TellingMe/Android] 텔링미 안드로이드 개발 🔥3차 스프린트🔥 이번 3차 스프린트 기간에는 Compose 기반의 UI 구성에서 벗어나 카카오 소셜로그인과 관련된 API 연동 및 로그인 관련 비즈니스 로직을 작성하는 작업을 했습니다. 카카오에서 제공하는 로그인 API만 연결하면 마치 앱의 로그인 과정이 모두 끝난 것 같은(?) 것처럼 보이지만 전혀 그렇지 않습니다. 클라이언트에서 시도한 카카오 로그인이 정상임이 확인되면 이제부터 많은 부분들을 신경 써줘야 합니다. 프로젝트마다 로그인 로직이 조금씩 다를 수 있겠지만 저희는 카카오에서 발급해 준 사용자 고유의 인가코드를 서버로 전달해 자체적인 AccessToken/RefreshToken을 발급받아 사용자를 관리하고 있습니다. 그리고 최초 로그인인지 아닌지를 구분해 최초 로그인 이후로는 당연히 자동 로그인이 되어야 하고,.. 2024. 2. 7. [Android/Kotlin] Retrofit을 이용한 https통신에서 SSL 인증서 오류 해결방법 문제상황 안드로이드에서는 버전 9부터 네트워크 통신 과정에서 http 접근을 허용하고 있지 않습니다. 하지만 Manifest에 usesCleartextTraffic 속성을 true로 설정해주는 것만으로도 우회해서 http 접근이 가능하기 때문에 그동안 https://xxxx로 적용된 API 주소를 단순히 http://xxxx로 바꿔 요청하는 방식으로 개발했습니다. 하지만 이번 프로젝트에서는 서버에서 어떤 보안(?) 처리가 되어있는지 http 접근이 도저히 되지 않았습니다. javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. .. 2024. 1. 30. 이전 1 2 3 4 ··· 15 다음 728x90 반응형