본문 바로가기

안드로이드60

[Android] 안드로이드 위젯 알아보기 3편 - Glance, Compose, Kotlin (Android Compose Glance Appwidget) 상호작용 지난 2편에서는 간단한 앱 위젯을 만들어봤다면 이번 3편에서는 액티비티 실행, 서비스 실행 등 앱 위젯 상호작용에 대해서 알아보자!# 상호작용 종류- 활동 실행 (Activity)- 서비스 실행- 브로드캐스트 이벤트 전송- 콜백 실행 상호 작용이 가능한 종류로는 위 4가지가 있다.위 종류에 대한 작업을 실행하려면 GlanceModifier.clickable 메서드를 사용하거나 Button의 onClick 메서드처럼 Action클래스에서 정의해 주면 된다. 하나하나 살펴보자!## 활동 실행 (Activity)만약 어떠한 Action이 들어왔을 때 액티비티를 띄워주고 싶다면 아래와 같이 actionStartActivity라는 메서드를 사용한다. actionStartActivity에는 총 3가지를 제공할 수 .. 2024. 5. 3.
[Android] 안드로이드 위젯 알아보기 2편 - Glance, Compose, Kotlin (Android Compose Glance Appwidget) 지난 1편에서 위젯에 대한 개념을 알아봤다면 이제 2편에서는 위젯을 만드는 법에 대해서 알아볼 것이다. 들어가기 전 본 포스팅은 Xml 개발이 아닌 Compose로 개발을 진행할 것임으로 Xml으로 개발을 원한다면 공식문서를 보길 바란다. 우선 위젯을 Kotlin과 Compose를 사용하여 빌드하려면 Jetpack Glance라는 것을 이용해야 한다.차근차근 알아보자!# Glance란?공식문서에서는 아래와 같이 말하고 있다.Jetpack Glance는 Jetpack Compose 런타임을 기반으로 빌드된 프레임워크로, Kotlin API를 사용하여 앱 위젯을 개발하고 설계할 수 있습니다.Glance는 적은 코드로 홈 화면의 반응형 위젯을 빠르게 빌드하는 데 도움이 되는 컴포저블 세트를 제공합니다. 정리하.. 2024. 5. 2.
[Android] 안드로이드 위젯 알아보기 1편 이번 포스팅은 안드로이드 위젯에 대해 정리해보겠다.# 위젯이란?위젯은 홈 화면 맞춤설정의 필수적인 측면입니다. 사용자의 홈 화면에서 바로 액세스 할 수 있는 앱의 가장 중요한 데이터와 기능을 '한눈에' 보여주는 뷰라고 생각하면 됩니다. 사용자는 홈 화면 패널 간에 위젯을 이동할 수 있으며 지원되는 경우 위젯의 크기를 조절하여 위젯의 정보 양을 원하는 대로 조정할 수 있습니다. 위에는 공식문서에서 설명하는 위젯의 정의이다.간단히 정리를 해보면 "사용자의 홈 화면에서 바로 액세스할 수 있는 앱의 가장 중요한 데이터와 기능을 '한눈에' 보여주는 뷰"라고 보면 될 것이다.# 위젯 유형## 정보 위젯 - 일반적으로 중요한 정보 요소를 표시하고 시간 경과에 따른 정보 변경을 추적하는 위젯이다.- 정보 위젯을 탭 하.. 2024. 4. 29.
[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.
[디자인패턴 - 데코레이터패턴] 데코레이터패턴이란? 예제를 통해 이해하기 (Decorator Pattern) for Head First Design Patterns (헤드퍼스트 디자인 패턴 참조) # 데코레이터 패턴 ## 정의 데코레이터 패턴은 기존 코드를 수정하지 않고도 기능을 동적으로 추가하거나 변경할 수 있게 해주는 디자인 패턴이다. 이 패턴은 구조 패턴의 한 종류로, 기본적인 객체에 추가적인 기능을 부여하기 위해 '감싸는' 형태로 적용된다. 이를 통해 기존 클래스를 수정하지 않고도 새로운 기능을 추가할 수 있다. ### 장점 기존 코드를 수정하지 않고도 기능을 추가하거나 변경할 수 있다. 단일 책임 원칙을 준수한다. 각 데코레이터는 자신의 기능만을 추가하므로 기능이 분리되어 코드의 유지보수가 쉽다. ## 예제 시나리오 어느 한 사람이 카페에 가서 아이스티의 샷 추가를 하는 상황이다. ### 구현 순서 1. 음료를 나타내는 Beverage 인터페이스 생성 (음료 설명, 가격 반환 메서드 포함.. 2024. 3. 10.
[디자인패턴 - 옵저버패턴] 옵저버패턴이란? 예제를 통해 이해하기 (Observer Pattern) for Head First Design Patterns (헤드퍼스트 디자인 패턴 참조) # 옵저버 패턴 먼저 책에서 나온 옵저버 패턴의 정의를 살펴보자! 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다 한줄로 정리 하자면 일련의 객체 사이에서 일대다 관계를 정의 한다라고 보면 된다. 책에서는 기상 정보를 예를 들었다 나는 주식 가격 변동 모니터링 서비스으로 예를들겠다. 시장에서 주식의 가격이 변하면 이 정보를 받아서 각각의 투자자에게 알려주는 시스템이라고 치겠다. 우선 옵저버 패턴은 일대다라고 했으니 주식이 일에 해당하고 그 주식 투자자가 다에 해당한다고 보면 된다. 주식 가격 변동 모니터링 서비스를 옵저버 패턴으로 구현하면 주식 가격이 변하면 거기에 의존하는 모든 투자자들한테 알림이 간다. 위와 같은 시나리.. 2024. 2. 15.