기본 콘텐츠로 건너뛰기

11월, 2022의 게시물 표시

안드로이드 앱 만들기 : GoogleMap 활용시 주의 할 점 하나

원본출처: 티스토리 바로가기 GoogleMap 그려보기 오늘은 jetppack compose 환경에서 구글 지도를 활용하면서 조심해야 할 것 하나를 정리해 두고자 합니다.  이전 포스팅에서 구글 지도를 jetpack compose에 올리는 부분은 기술해 두었으니 참고하시면 될 것 같습니다 https://billcorea.tistory.com/243   안드로이드 앱 만들기 : GoogleMap (feat Jetpack Compose) 앱을 만들다 보면 지도가 들어가는 앱을 만들게 되는 경우가 있다. GoogleMap API 등을 이용해서 앱을 만들게 되는 데, 이번에는 Jetpack Compose 기반의 GoogleMap 을 구현해 볼까 한다. 아직은 예전 java 코 billcorea.tistory.com   오늘의 발견 이슈 material diaglog box 등을 활용해 보기 위해서 themes.xml 을 구성해 보았던 기억이 있습니다.   <style name="Theme.bespeak1003" parent="Theme.AppCompat.DayNight"> <!-- Primary brand color. --> <item name="colorPrimary">@color/softBlue</item> <!-- Customize your theme here. --> <item name="colorAccent">@color/softBlue_30</item> <item name="android:textColor">@color/softBlue</item> <item name="android:fontFamily

안드로이드 앱 만들기 : MMS 의 정보 확인에 대한 이야기

원본출처: 티스토리 바로가기 이전 포스팅에서 SMS 또는 LMS을 읽어오는 부분에 대해서는 기술한 바 있습니다. 이여서 하는 이야기는 MMS을 확인해 보는 방법입니다. 이전 포스팅으로 MMS가 읽어져 오는 것으로 이해를 하고 있었습니다만... 실제로는 그것이 아니라는 특히 국내에서 출시된 개선된(?) 안드로이드를 사용하는 경우 그런 기능으로는 정보를 다 가지고 오지 못하는 부분이 있다는 것을 알게 되었습니다.   MMS 수신 이벤트 확인 국내향 안드로이드의 경우는 SMS와 달리 MMS의 경우는 수신을 했다고 해도 Event 를 감지할 수 없었습니다. 그래서 대안으로 처리한 것은 알림 수신을 이용하는 것입니다. (알림 수신에 대해서는 이전 포스팅을 참고해 주세요)   import android.annotation.SuppressLint import android.app.Notification import android.content.ContentResolver import android.content.Context import android.database.Cursor import android.net.Uri import android.os.Build import android.service.notification.NotificationListenerService import android.service.notification.StatusBarNotification import android.util.Log import androidx.annotation.RequiresApi ..... import java.io.BufferedReader import java.io.InputStreamReader import java.text.SimpleDateFormat import java.util.* class MyNotificationListener : NotificationListenerService() {

주문이요 앱 사용자를 위한 설명서

원본출처: 티스토리 바로가기 기본이미지 이 글은 앱 사용자를 위한 사용자 설명서입니다. 이 앱의 기획의도는 매장 테이블에 있는 간편 결제 키오스크를 보고 만들기 시작 헸습니다. 스마트폰 간편 결제만 사용한다고 하면 키오스크를 만들기 위해서 따로 뭔가를 준비하거나 할 필요가 없습니다. 이 앱은 payapp.kr 을 간편 결제 서비스를 연동하고 있습니다. 이 앱은 qrcode 인증을 통해서 휴대폰 간편 결제를 할 수 있도록 지원하는 앱입니다. 이 앱을 사용하기 전에 꼭 payapp.kr 에서 회원 가입 및 사용자 인증을 진행한 이후에 사용할 수 있습니다. (그렇다고 해서 아직은 payapp 와의 어떤 관계도 없습니다. 혹시 나중에 리셀러로 참여할지도 모릅니다.) 이 앱은 스마트폰 간편 결제만 지원하고 있습니다. 다른 결제 방식에 대해서는 추가 upgrade는 검토 후 진행 여부가 결정될 수 있습니다. 사용하지 않는 스마트 단말만 있으면 됩니다. 단, wifi 는 연결될 수 있어야 합니다. 통신을 해야 합니다. 앱 사용자 등록 하기 앱을 설치하고 나서 처음 시작할 때 나오는 화면 입니다. 초기 사용자 등록 ** 이 메일은 사용자 구분을 하기 위한 정보로만 사용 됩니다. 나중에 관리를 위해서도 필요합니다. 등록된 이메일 주소를 활용해서 메일링을 하거나 할 생각은 없습니다. ** 페이앱 사용자 ID payapp 에 가입하게 되면 등록한 사용자 ID가 있어야 결제를 받은 것들에 대해서 대금 수령 등을 할 수 있습니다. 이 부분에 대해서는 payapp의 사용자 등록을 참고하세요. ** T.No 테이블 번호로 사용 됩니다. 매장 안에 테이블이 여러 개 있는 경우 번호를 달리 해야 나중에 주문 내역 관리에 도움이 됩니다. ** 주방 데스크 여부 해당 단말을 주방에 설치하는 경우에만 체크해 주세요. 주문이 완료 되면 해당 정보를 목록 형태로 조회할 수 있도록 지원됩니다. 현재 표시된 내용은 샘플이므

안드로이드 앱 만들기 : SMS or LMS (문자)수신기는 어떻게 ?

원본출처: 티스토리 바로가기 Telephony 우리가 사용하는 스마트 폰의  기능 중에서 SMS (short message service)와 LMS (Long message Service)의 수신에 대한 이야기를 해 볼까 합니다.    https://support.google.com/googleplay/android-developer/answer/9888170   민감한 정보에 액세스하는 권한 및 API - Play Console 고객센터 Health Connect by Android 권한 Health Connect 권한을 통해 액세스되는 데이터는 사용자 데이터 정책과 다음과 같은 추가 요건이 적용되는 개인 정보 및 민감한 사용자 데이터로 간주됩니다. 적절한 Health support.google.com 구글은 사용자의 개인정보보호등의 사유 등을 들어 SMS 기본 처리 앱으로 허가되는 경우를 제외하고는 SMS의 수신에 대한 허가를 얻어야만 그 권한을 사용하는 앱의 playstore 등재를 허락하고 있습니다.  그런 사유로 해서 SMS을 수신하는 앱을 playstore에 게시하는 것은 개인 개발자가 하기에는 어려운 사항이 생기고 있습니다.    SMS 읽기 그래도 playstore 에 등록하는 경우가 아닌 개인적으로 사용하고자 하는 경우에는 이 기능에 대한 제한을 할 수 없을 듯합니다.  그래서 이번에는 SMS 수신하는 앱을 하나 만들어 볼까 합니다.    먼저 권한 획득을 해 보겠습니다. <uses-permission android:name="android.permission.RECEIVE_SMS" />   PERMISSION 얻기 SMS 등 민간한 권한의 경우는 manifest에 선언을 하는 것뿐만 아니라 코드 내부에서도 권한을 다시 허가를 받아야 한 하도록 google에서 제한하고 있습니다. 이렇게 허가를 받는 다고 해도 playstore에 게시할 때

개발일기 # 번외편3 : 앱의 디자인에 대한 평가 받아 보기

원본출처: 티스토리 바로가기 창업 디자이너. 창디 앱을 구현하다 보면 아무래도 개발자로만 지내면서 감히(?) 도전해 보지 않았던 디자인과 관련된 이슈를 마주 하게 됩니다. 그래서 이번엔 어느 디자인 전문가님에게 앱의 기본 디자인에 대한 평가(?)를 받아 보기로 했습니다.    창업디자이너 창디 https://www.instagram.com/changdi.designer/ 별 그램에서 디자인에 관한 글을 많이 포스팅하시는 분이 무료 이벤트를 하신다고 하여 얼른 손(?)을 들어 보았답니다.  창업 디자이너. 창디님 이라고 하시더라고요.   화면디자인 설계   초안과 검토전 디자인 처음 이미지는 처음 만들어 가던 화면 디자인이고,  다음 이미지는 창디님에게 조언을 듣기 위해 전달드렸던 이미지입니다.  개인적으로 파란색을 좋아해서  온통 스머프(?)가 생각나는 색상으로 도배(?)를 했더랍니다.  이제 창디님의 조언을 들어 보겠습니다.      창디님의 혹독한(?) 디자인 평가 듣기 평가를 듣고 나서 1. 배경색은 하얀 배경으로 했던 건데, 노란색이 되면 어떨까 하는 생각에서 칠했던 것이고,  2. 폰트도 귀엽기는 하죠... nano sans 등의 폰트를 찾아보겠습니다. 3. 파란색은 그냥 개인적으로 좋아하는 색이고요. 4. 각 item들끼리 묶어서 분명해지도록 해야겠고요. 5. 글자의 색에 대해서도 쉽게 black으로만 썼었는데... dark gray 공감이 확 옵니다.    dark blue는 안될까요?    이런 정도의 복습(?) 의견을 드리긴 했습니다. 그리고 이제 수정된 디자인에 도전을 해 보았습니다.    수정된 디자인 수정한 디자인   배경색은 무채색을 강조하셨는 데, 변경한 배경색이 무채색 같지는 않습니다.    폰트는 나눔 고딕 정도로 수정해 보았습니다.  파란색은 개인적으로 많이 좋아해서 버리지 못했습니다.    아이템들은 그룹화를 해서 구분이 수월하게 해

개발일기 # 번외편2 : 난 서버가 없는데(Serverless) cloud function 사용해 보기

원본출처: 티스토리 바로가기 Cloud Function 서버를 보유 하지(Serverless) 않고 서버가 있는 것처럼 업무 구현을 하고 싶습니다.  개발을 하면서 데이터 베이스는 스토리 지을 firebase을 활용하고 있다면 cloud function 도 배워서 준비를 해야 할 것 같습니다. 지금 개발하고 있는 앱이 payapp와 API 연동을 해야 하지만, 가난한(?) 개발자는 서버가 없습니다    대안으로 생각해 볼 수 있는 것을 찾아보다가 알게 된 cloud function의 구현에 대한 이야기를 해 보겠습니다.    * google cloud function : python, node.js, java 등등이 지원이 된다고 합니다. ** firebase cloud function : node.js 만 (2022.11.12 현재로는) 지원이 되고 있습니다    node.js을 잘 알고 있다면 firebase을 활용할 수 도 있겠지만, 아직은 python을 더 잘 알고 있기 때문에 google cloud function을 구현해 보기로 했습니다.    https://cloud.google.com/functions/docs/create-deploy-http-python?hl=ko#windows     빠른 시작: Python을 사용하여 HTTP Cloud 함수 만들기 및 배포  |  Cloud Functions 문서  |  Google Cloud 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 빠른 시작: Python을 사용하여 HTTP Cloud 함수 만들기 및 배포 Python을 사용하여 HTTP Cloud 함수 만들기 cloud.google.com 이 글은 위 링크의 내용에서 발췌하고 따라하기를 했음을 밝혀 둡니다.    Firebase realtime database 에 저장 저장된 결과 이 그림이 나의 목표 입니다. 서버가 없

개발일기 # 번외편 : 안드로이드 앱도 웹 서버가 될까 ?

원본출처: 티스토리 바로가기 https://github.com/ahmedmolawale/AndroidNanoHttpd   GitHub - ahmedmolawale/AndroidNanoHttpd: A sample android project to showcase the use of NanoHttpd in Android. A sample android project to showcase the use of NanoHttpd in Android. - GitHub - ahmedmolawale/AndroidNanoHttpd: A sample android project to showcase the use of NanoHttpd in Android. github.com 오늘은 번외 편으로 안드로이드를 이용한 웹서버 간략 구현에 대해서 알아볼까 합니다.  이 포스팅은 위 링크의 글을 참조하였음을 밝혀 둡니다.    Gradle 추가 // nano HTTP 구현 implementation 'com.nanohttpd:nanohttpd:2.2.0' 이거 하나 추가 하면 끝입니다.  다음은 Local에서 WebServer로 사용할 코드를 구현해 보겠습니다.  import android.content.Context import android.os.StatFs import android.util.Log import androidx.core.content.ContextCompat import fi.iki.elonen.NanoHTTPD import java.io.File import java.io.FileInputStream import java.io.IOException import java.net.Inet4Address import java.net.NetworkInterface import java.net.SocketException class LocalWebserver(context: Context

안드로이드 앱 만들기 : Admob 버전 별 구글 광고 중단 일정.

원본출처: 티스토리 바로가기 앱을 만들어 수익을 얻는 방법 중 하나인 Admob 광고가 버전에 따른 중단 일정이 공지되고 있습니다.  잘 기억해 두었다가 playstore에 게시된 앱의 버전 패치에 참고하시길 바랄게요.   중단 일정 공지 내용 광고중단 일정 이 글은 아래 링크의 내용을 참조하였습니다.    https://developers.google.com/admob/android/deprecation?source=ui&hl=ko     지원 중단 및 일몰  |  Android  |  Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 지원 중단 및 일몰 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 새로운 주요 Google 모 developers.google.com   이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.