기본 콘텐츠로 건너뛰기

안드로이드 앱 만들기 : FCM Message 수신

원본출처: 티스토리 바로가기 앞에서 python 코드를 이용해서 random 숫자를 만들고 FCM 전송하는 코드를 구현해 보았다면, 이번에 그걸 이용해서 수신하는 앱을 하나 만들어 볼 차례다.   https://billcorea.tistory.com/179   자작 앱 설명서 : 로또에 관심 있으세요? https://play.google.com/store/apps/details?id=com.billcoreatech.getLotto Get Lotto 로또 번호를 드립니다. - Google Play 앱 매주 요청한 요일에 로또 번호를 무작위로 보내 드립니다. play.google.com 앱을.. billcorea.tistory.com   코드 구현은 kotlin으로 해 보았다.  이제 걸음마 단계이기 때문에 코드가 조금 길어질 수 도 있지만, 아직은 준비 중인 단계이기 때문에...   먼저 FCM을 수신하기 위해서는 firebase와 연동을 위한 gradle 구성이 필요하다.   import java.text.SimpleDateFormat plugins { id 'com.android.application' id 'com.google.gms.google-services' id 'com.google.firebase.crashlytics' id 'kotlin-android-extensions' id 'kotlin-android' id 'kotlin-kapt' } android { compileSdk 32 defaultConfig { applicationId "com.bi.......tto" minSdk 28 targetSdk 32 versionCode 10 vers

자작 앱 설명서 : 로또에 관심 있으세요?

원본출처: 티스토리 바로가기 https://play.google.com/store/apps/details?id=com.billcoreatech.getLotto   Get Lotto 로또 번호를 드립니다. - Google Play 앱 매주 요청한 요일에 로또 번호를 무작위로 보내 드립니다. play.google.com 앱을 하나 또 게시 했어요. 기능 구현을 위해서 firebase을 사용하고 번호 전달을 위해 python을 이용 했습니다.  random 번호를 추출하기 때문에 당첨이 되거나 하지는 않겠지만,  python을 이용해서 firebase readtime database 을 활용하는 방법이 나올 듯 합니다.    또한 24시간 365일 컴터 하나를 켜 두어야 하는데, 그럴 수는 없으니, rasberry pi 3 을 사용하기로 했습니다.  os 는 linux 계열를 사용했구요.    crontab 에 등록을 해 두었기 때문에 매일 반복적인 작업이 가능 합니다.  앱 설명서 게시된 앱의 설명이에요. import datetime import json import random import sqlite3 # 2021.11.13 FCM 전송을 위한 수정 import firebase_admin import requests import telegram import urllib3 from bs4 import BeautifulSoup from firebase_admin import credentials from firebase_admin import db conn = sqlite3.connect("opDeGangDB.sqlite", isolation_level=None) # 커서 획득 rs = conn.cursor() # 테이블 생성 (데이터 타입은 TEST, NUMERIC, INTEGER, REAL, BLOB 등) rs.execute(''' CREATE T

안드로이드 앱 만들기 : Jetpack Compose 와 xml 의 차이

원본출처: 티스토리 바로가기 https://medium.com/kotlin-academy/say-hello-to-jetpack-compose-and-compare-with-xml-6bc6053aec13   Say Hello 👋 to Jetpack Compose and Compare with XML Introduction blog.kotlin-academy.com 오늘도 또 하나의 글을 찾았다... Jetpack Compose 로 만드는 화면과 기존 xml 로 만드는 화면의 차이에 대한 글을 하나 찾았다.   xml 와 만드는 화면과 Jetpack Compose 을 비교해 보니 이해가 되는 것 같기도 하고... 아직은 갈 길이 멀어 보인다.   <xml layout 예제> <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical"> <TextView android:id="@+id/txtHeader" style="

안드로이드 앱 만들기 : 오늘도 jetpack compose 에 헤메이다...

원본출처: 티스토리 바로가기 https://medium.com/towardsdev/5-useful-jetpack-compose-library-you-should-use-in-your-next-project-part-1-8b2d4b6f50e2   5 useful Jetpack Compose Library you should use in your next project — Part-1 No need to invent the new wheel towardsdev.com   또 하나의 글을 찾았다.... 짧은 영어 때문에 번역글을 만들어 본다. 원본은 위 링크에서...   다음 프로젝트에서 사용해야 하는 5가지 유용한 Jetpack Compose 라이브러리 — 1부 새로운 바퀴를 발명할 필요가 없습니다   동일한 기능을 쉽게 달성하기 위해 라이브러리를 사용할 수 있는데 왜 사용자 정의 기능을 작성해야 합니까?   라이브러리는 개발자의 가장 친한 친구이자 인생의 맛입니다.   나는 좋은 프로젝트가 최고의 라이브러리를 사용한다고 믿습니다. Jetpack compose는 Android 제품군의 최신 멤버이자 중요한 제품군 중 하나입니다.   오늘 우리는 Jetpack Compose를 위한 몇 가지 멋진 라이브러리를 볼 것입니다.   1. Showkase 이 라이브러리는 Airbnb에서 제공합니다.   롯데의 유명한 애니메이션 라이브러리도 만든 사람입니다.   이 라이브러리는 Jetpack Compose UI 요소를 구성, 검색, 검색 및 시각화하는 데 도움이 되는 주석 프로세서를 기반으로 합니다.   구성 요소, 색상 및 타이포그래피를 빠르게 찾을 수 있도록 최소한의 설정으로 UI를 제공합니다.   또한 어두운 모드, 오른쪽에서 왼쪽 레이아웃, 크기가 조정된 글꼴 등과 같은 일반적인 시나리오에서 구성 요소를 렌더링 합니다. 2. Accompanist 구글에서 만든 ❤.Jet

자작앱 사용자를 위한 개인정보 처리방침

원본출처: 티스토리 바로가기 < 우리집 >('billcorea.tistory.com'이하 'billcorea.tistory.com')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은   2022년   4월   1부터 적용됩니다.   제1조(개인정보의 처리 목적) < 우리집 >('billcorea.tistory.com'이하 'billcorea.tistory.com')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다.   ○ 제공되는 앱의 사용자 확인을 위해서 만 사용 됩니다. 제2조(개인정보의 처리 및 보유 기간) ①   < 우리집 >은(는) 법령에 따른 개인정보 보유·이용기간 또는 정보주체로부터 개인정보를 수집 시에 동의받은 개인정보 보유·이용기간 내에서 개인정보를 처리·보유합니다. ② 각각의 개인정보 처리 및 보유 기간은 다음과 같습니다. 1.<앱 사용자 회원가입 및 관리> <앱 사용자 회원가입 및 관리>와 관련한 개인정보는 수집.이용에 관한 동의일로부터<이 앱의 사용기간 동안>까지 위 이용목적을 위하여 보유.이용됩니다. 보유근거 : 이 앱의 사용자 확인을 위해서 제3조(개인정보의 제3자 제공) ①   < 우리집 >은(는) 개인정보를 제1조(개인정보의 처리 목적)에서 명시한 범위 내에서만 처리하며, 정보주체의 동의, 법률의 특별한 규정 등 「개인정보 보호법」 제17조 및 제18조에 해당하는 경우에만 개인정보를

안드로이드 앱 만들기 : 왜 Jetpack Compose 인가 ?

원본출처: 티스토리 바로가기 https://medium.com/androiddevelopers/jetpack-compose-before-and-after-8b43ba0b7d4f   Jetpack Compose — Before and after How the build speed, APK size and source line count changed after migrating the Tivi sample app to Jetpack Compose medium.com ...  인용글의 하단    과일 비유는 제쳐두고, 저에게 가장 큰 시사점은 Compose가 대부분의 개발자 메트릭에 긍정적인(또는 중립적인) 영향을 미칠 것이라는 것입니다.   이를 염두에 두고 Compose를 사용하여 개발자 생산성이 크게 향상됨에 따라 Compose가 Android에서 UI 개발의 미래라는 것은 당연하게 느껴집니다.   ...   다른 이야기는 다 접어두고 라도... 인용글의 마지막 부분에 있는 저 문장 (개발자 생산성이 크게 향상됨에 따라 Compose가 Android 에서 UI개발의 미래라는 것은 당연하게 느껴진다.) 때문에 라도...   새로 배워야할 것만 같다.   여태 만들어 왔던 앱들은 layout 기반에서 UI을 구현하다 보니... 나름의 편리함(?)도 있기는 했으나, 그 안에서만 구현을 해 왔던 것이다.  그래서 다이나믹 하고 유연한 UI구현은 좀 어렵지 않나 하는 생각이 든다.  물론 그것이 나쁘다거나, 그런 건 아니다.  다만, 앞으로 가는 길에 도움이 되려면 새로운 것들에 대한 도전(?)을 해야 한다는 것이지...   그러다 보니, 난 아직도 내가 그리는 화면들이 그렇게 퀄리티 있어 보이지 않는 다는 것에 동의 한다.  구글링 만으로 배워 보기에는 아직 무리수가 있는 것 같기는 하다.   그래도 이제라도 배워 봐야 겠다.   안드로이드 개발자 가이드에서 퍼옴...   Je

안드로이드 앱 만들기 : firebase 의 appcheck 는 뭘까 ?

원본출처: 티스토리 바로가기 https://firebase.google.com/docs/app-check/android/safetynet-provider?authuser=0&hl=ko     Android에서 SafetyNet으로 앱 확인 활성화  |  Firebase Documentation Join Firebase at Google I/O online May 11-12, 2022. Register now 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Android에서 SafetyNet으로 앱 확인 활성화 이 페이지에서는 내장 Saf firebase.google.com   앱을 만들면 당연히 데이터를 저장할 방법을 생각하게 되고, 그러다 보면 데이터를 여러사람이 같이 사용하는 걸 생각하게 된다.    서버를 가지고 있다면 고민할 이유가 없기도 하겠지만, 말이지... 서버가 없으니, online 으로 데이터를 저장할 수 있는 걸 생각 하지 않을 수 없다.  그래서 생각한 것은 firebase ... 그 안에서 realtime database 을 사용해서 이런 저런 앱을 만들다 보면...    firebase 규칙 이슈 메일   firebase 규칙 설정 가끔 메일 온다.  저장 규칙에 대한 이슈로...                           이렇게 규칙을 설정하면   등록된 사용자만 사용할 수 있도록 구성이 되어 있음에도 여러 사용자가 공유를 하게 되서 그런건가    규칙에 대한 보안 규칙을 말하는 메일이 오게 된다.       그래서 생각한 것은 app check 을 구현해 보는 것이라고 생각을 했다.  물론 이렇게 하는 게 맞는 건가는 아직 모른다. 일단 다른 생각이 나지 않으니 이렇게 구현해 보아야 겠다는 생각이 들었다.    구현한을 해 보자... 먼