https://todaycode.tistory.com/8 [Kotlin] FCM 푸시 알림 구현하기 1. 기본개념 1-1. Firebase 1-2. FCM(Firebase Cloud Messaging) 1-3. Notification과 Data 1-4. 푸시 알림 전송 대상 2. Firebase 연동 2-1. Firebase와 app 연결 2-2. FCM 추가 2-3. 메시지 처리.. todaycode.tistory.com 위의 사이트를 참고하여 제작하였습니다. MyFirebaseMessagingService.kt package com.example.twitchpush import android.app.NotificationChannel import android.app.NotificationManage..
팬딩인텐트는 인텐트의 일종으로, PendingIntent는, intent를 바로 수행하지 않고 '특정 시점'에 수행하도록 하는 특징으로 '특정 시점'은 앱이 구동되지 않을 때라고 한다. 대표적 사용 사례 Notification 바탕화면 위젯 AlarmManager 사용법 PendingIntent.getActivity(Context, Int, Intent, Int) PendingIntent.getService(Context, Int, Intent, Int) PendingIntent.getBroadcast(Context, Int, Intent, Int)
항상 트위치를 보면서 알림이 늦게와서 따로 받아오는 앱을 제작해보고자 했습니다. 이를 위해서 twitch api를 연동하여 내가 받기를 원하는 스트리머의 방송 상태 정보를 받아옵니다. 방송 알림은 24시간 알림이 되어야하므로 별도의 서버에 올려서 24시간 구동을 합니다. -> azure 사용 어플이 실행중이지 않더라도 방송이 시작되면 알림이 와야합니다. -> pendingIntent와 fcm 사용 1. 트위치 등록하기 트위치 개발자 콘솔 (https://dev.twitch.tv/console)에 접속하여 등록한다. 2. 응용 프로그램 등록 3. 토큰 발급 받기 import requests import json req = requests.post(f'https://id.twitch.tv/oauth2/tok..
앱을 만들면서 내부 로컬 db 사용이 필요했다. sqlite를 사용하려고 관련해서 찾다가, Room을 발견했다. Room이 무엇인가? Room은 안드로이드 로컬 데이터베이스를 사용할 때 쓴다고 한다. 사용법 1. 의존성 추가 build.gradle파일에 dependency에 다음 코드를 추가해준다. def roomVersion = "2.4.2" implementation("androidx.room:room-runtime:$roomVersion") kapt("androidx.room:room-compiler:$roomVersion") 이때 roomVersion의 경우에는 https://developer.android.com/jetpack/androidx/releases/room?hl=ko 에서 최신 버전 ..
recyclerview를 이용해 gridview를 동적으로 생성하였는데 요소들이 왼쪽 정렬이 되었다. 가운데 정렬을 하기 위해 gravity를 center로 하면 해결이 될 줄 알았으나 실패.. 이것저것 해보다가 결국 찾았다. width를 match parent로 두어 최대로 하고 margin을 주어 여백을 만들었다. 그리고 하위 요소에 adjustviewbounts를 true로 주어서 가로 세로 비율을 동일하게 주었다. 코드 결과