기본 콘텐츠로 건너뛰기

OntheWay 가는 길에 (요소수 주유소 검색도)


원본출처: 티스토리 바로가기

이미 playstore에 게시되어 있기는 하지만,  많이 사용되고 있지도 않지만, 간단한 사용 방법을 안내해 보고자 한다. 

 

https://play.google.com/store/apps/details?id=com.billcoreatech.ontheway801 

 

주변검색, 주변찾기, 가는길에, 요소수 주유소 - Google Play 앱

내주변의 장소를 선택하고, 선택한 위치에 도착하면 사전에 등록한 알림을 보내 줍니다.

play.google.com

 

이 앱의 원래 개발 취지는 먼가에 집중하면 들었던 이야기를 까먹는 습관,  집 가는 길에 약국에 들려 감기약이라도 사다 먹어야지 하는 생각이 있었는데, 집에 가면 그것을 잊어버렸을 때...  오는 황당함을 조금 이나마, 덜어 보고자 하는 마음으로 만들었던 앱인데... 

 

암튼 오늘은 이앱의 기능에 대한 설명을 만들어 보아야겠다.

메인화면

 

이 앱의 메뉴 구성은 FAB (Floating Action Button)을 이용해서 구성하였다. 

 

화면 중간에 위치한 + 버튼을 클릭하면 메뉴가 위로 펼치지는 모양으로 구성되었다. 

 

키워드 검색 : 내 주변에 있는 어떤 장소를 키워드를 입력해 찾는 방식

 

카테고리 검색 : 내주변에 있는 장소를 카테고리별로 찾아보는 방식 (카테고리 정보는 카카오 api을 활용)

 

우리 집설정 : 우리집 위치를 찾아서 설정하기

 

주변 주유소(요소수 재고) : 내 주변에 있는 주유소중 요소수 판매가 되고 있는 정보를 표시 ( 공공데이터 api 활용)

 

설정 : 앱을 사용하기 위한 설정 화면

 

이 앱은 : 지금 보고 있는 이 페이지로 링크 연결

 

 

 

 

 

 

 

 

먼저 이 앱을 사용하기 위해서는 권한 허가가 필요하다, 이유는 나의 위치를 항상 알고 있어야 주변 검색을 할 수 있기 때문이기도 하고, 내가 지금 지정한 위치를 지나고 있는지 알아야 알림을 전달할 수 있기 때문 이기도 하다. 

 

앱을 설치하게 되면, 먼저 권한 허가에 대한 알림을 주도록 하고 있다. 

앱 권한설정 4단계

 제일 먼저 앱에서 위치 정보에 대한 사용 허가를 받는다, 다음은,  항상 위치를 확인하기 위해서 알림을 보여주고 확인을 클릭하면 위치 액세스 권한에 대한 휴대폰 설정 화면으로 이동하여 항상 허용에 대한 권한을 추가로 확인하고 있다.  휴대폰 설정의 항상 허용이 허가되지 않은 경우에는  지정한 장소 인근에 도착하더라도 위치를 알 수 없으므로 알림을 보여줄 수 없다.

 

간혹 휴대폰에서 항상 허용 권한에 대해서 제거하고자 안내를 하는 경우가 발생하는 데, 이런 경우에도 앱의 사용의 목적을 위해서는 항상 허용을 선택하여야 한다. 

 

이제 앱으로 돌아와서 설정을 먼저 해 볼 차례이다. 

설정화면

집에 도착하면 wifi 켜기 : 이 기능은 android 8 이하만 자동 설정이 가능하다고 하여 정확하게 기능이 구현되지 못한 부분으로 추후 개선이 될 예정이다.

 

위치인식 범위 : 지정 장소에 도착했는지 알림을 보여주기 위한 위치 인식의 범위를 선택할 수 있다.  1500m 이내만 가능

 

주변 검색 범위 : 키워드 검색, 카테고리 검색에서 주변 검색을 위한 범위를 2500m 이내에서 선택할 수 있다. 

 

기억 활성화 시간 :  위치를 저장한 경우 언제까지 알림을 표시할 것인지를 선택할 수 있는데,  72시간(3일 동안 유지 가능)까지 선택이 가능하다.

 

 

 

전체 주유소 목록 수집 여부 : 전국에 있는 주유소(요소수 판매가 되는 주유소만) 정보를 수집하거나,  주변 (도시 단위나, 구, 읍, 면 단위) 인근 주소에 해당하는 주유소 정보를 수집하는 것을 선택할 수 있다. (data.go.kr에서는 제공하는 인근 정보는 주소를 기준으로만 찾을 수 있기 때문에 이런 방식으로 구현하였다.  자료 구현에 대한 내용은 아래 포스팅의 내용 참고하세요. )

 

https://billcorea.tistory.com/90

 

안드로이드 앱 만들기 : 공공데이터 포털 활용 해 보기. (2)

조금 지나긴 했지만, 이슈가 되었던 요소수, 그걸 판매하는 주유소 정보를 공공데이터 포털에서 제공하기 시작했다. 현재 (2021.12.20 기준)는 111개 주유소의 정보만 제공이 되고 있는 것 같으나,

billcorea.tistory.com

 

목록추가하기

 

할 일 목록 추가 : 처음 화면에서 상단에 있는 + 버튼을 클릭하면 주소를 검색하고 해당 주소에 도착했을 때 할 일을 추가할 수 있다.

 

주소를 검색하고 나면 해당 주소를 도로명 주소로 기록하고, 해당 위치에 도착했을 때(설정에서 정한 위치 인식 범위 내에) 알림을 보내주도록 하고 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

주소 검색에서 할 일 등록까지 실행하는 화면 예시 

주소검색하기

키워드 검색 예시

키워드 검색 이란

 

말 그대로 찾고 싶은 것의 명칭 일부를 입력하면 주변에 있는 해당 단어가 들어 있는 것들을 모두 찾아 준다. 

 

약국이라고 입력하면 주변 반경 (설정에서 정한 주변 검색 범위 내에 있는 건물/위치 등에서) 내에서 입력한 단어가 들어 있는 모든 것들을 찾아서 

 

지도에 표시해 준다. 지도 위에서 해당 마커를 클릭하면

 

마찬가지로 해당 위치에서 하고 싶은 일을 입력할 수 있고, 내가 해당 위치에 도달했을 때 알림을 표시해 준다.

 

 

 

 

주소 검색이라는 버튼도 있는데,  검색할 위치를 주소로 검색해서 먼저 중심을 정하고 해당 중심 근방의 검색을 하는 방식으로 진행된다. 

 

키워드 검색시 주소검색 예시

 

카테고리 검색 예시

카테고리 검색은

 

카테고리를 선택하면 현재 위치 주변에 있는 해당 카테고리에 해당하는 정보를 보여 준다.

 

해당 위치를 클릭해서 메모를 저장하는 방식은 동일하다.

 

 

 

 

 

 

 

카테고리는 카카오 API 가 지원하는 것을 활용하고 있는데,  분류는 

"대형마트","편의점","어린이집,유치원","학교","학원","주차장", "주유소,충전소", "지하철역","은행","문화시설","중개업소","공공기관","관광명소","숙박","음식점","카페","병원"

이렇게 선택할 수 있도록 되어 있다.

 

카데고리 검색 시에도 위치 설정을 위해서 주소검색을 할 수 있는데, 주소 검색은 주변을 찾기 위한 중심을 설정하는 것으로 키워드 검색시에 보았던 내용과 동일하다.

 

우리집 설정 화면 예시

 

우리 집 설정은 지도에 표시된 나의 현재 위치를 중심으로

 

우리집 여부를 설정할 수 있도록 하고 있다.

아직은 제대로 동작하지 않고 있는 wifi 자동 켜기 기능을 구현하기 위한 정보라고 보면 될 것 같다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

요소수 재고 관련 주유소 위치 예시

주변 주유소 (요소수 재고)는 

 

공공데이터 포털 (data.go.kr)에서 제공하는 요소수 재고 현황을 이용하여 위치정보를 수집할 수 있는 주유소에 대한 위치 및 재고현황을 앱에서 표시할 수 있도록 하는 기능이다.

 

다만, 설정에서 전국 주유소 현황을 표시하는가, 주변만 검색하는 가에 따라 앱에서 표시되는 내용이 달라지므로 주변 조회가 잘 되지 않을 때에는 설정을 확인해 보아야 한다. 

 

제공되는 주유소 정보가 일반 주유소 정보가 없기 때문에, 지도의 스케줄을 줄여서 보아야 표시가 되는 경우도 있으므로 활용 시에는 살펴보아야 할 것 같다.

 

주유소 표시 방식에 색이 들어가는 것도 API 가 제공하는 정보를 그대로 활용하고 있는데, 요소수 재고량의 범위에 따라 색이 달라진다.

 

급하게 요소수를 충전해야 한다면, 초록색, 노란색으로 표기된 주유소를 찾아가는 것이 현명할 것 같다. 

 

회색이나, 빨간색 표기가 되고 있는 곳은 재고량이 없거나, 소량인 경우이기 때문이다. 

 

데이터 포털에서 제공하는 정보는 주유소에서 2시간 단위로 입력하고 5분 단위로 갱신되는 정보를 활용하기 때문에 일부 실제로 다를 수 있다고 하고 있다.

 

 

 

 

https://www.data.go.kr/data/15095040/openapi.do#tab_layer_prcuse_exam 

 

환경부_요소수 정보제공 주유소 재고현황 조회서비스

전국의 요소수 정보제공 주유소의 요소수 재고 현황이며, 요소수 정보제공 주유소에서 2시간 간격으로 입력(품질은 즉시 입력)하는 데이터를 5분 단위로 업데이트하여 제공하여 실제 재고 현황

www.data.go.kr

 

이 앱의 개발 과정은 아래 포스팅에서...

 

https://billcorea.tistory.com/47

 

안드로이드 앱 만들기 도전 1일차 geofences 을 활용한 앱

오늘 부터 앱을 하나 만들꺼다... 생각만 하고 있던... 그래서 하나씩 도전을 해 볼껀데, 잘 할 수 있을까 ??? 구현 목적 : 집에 가는 길에 약국에 들러서 약을 하나 사 가야겠다는 생각을 하고 퇴근

billcorea.tistory.com

https://billcorea.tistory.com/48

 

안드로이드 앱 만들기 도전 2일차 geofences 을 활용한 앱

앞에 이야기를 보고 준비를 잘 했다면 이제 하나씩 만들어 보자. 카카오 지도 준비는 되었으니, 이제 카카오 개발자 페이지에서 주변 정보를 수집할 방법에 대하여 생각해 보자, 구글에서도 place

billcorea.tistory.com

https://billcorea.tistory.com/56

 

안드로이드 앱 만들기 도전 3일차 geofences 을 활용한 앱

3일차는 쫌 그렇게 3번쨰 글 쓰기... 그 사이에 몇날이 흘렀다.  먼저 만들어진 앱을 볼까 ? geofence 는 실행을 등록하면 유효시간을 정하게 되어 있어서 등록할 때 특정 시간을 지정할 수 있도록

billcorea.tistory.com

https://billcorea.tistory.com/57

 

안드로이드 앱 만들기 도전 4일차 admob 달아 보기

오늘은 내가 만든 앱에 광고를 달아보자... admob 으로 다가... 그래서 먼저 할 꺼는 admob 에 로그인하고 앱 만들기를 클릭하기 그럼 다음 그림과 같이 나옴.  나의 앱은 안드로이드 버전이고, 아직

billcorea.tistory.com

https://billcorea.tistory.com/58

 

안드로이드 앱 만들기 도전 5일차 구글 플레이스토어 앱 등록

앱을 만들었으니 이번에는 플레이 스토어에 등록을 해 보자 등록을 하려면 먼저 개발자 계정으로 사용자 등록을 진행해야 한다. https://play.google.com/console/signup Google Play Developer Console 하나의 계..

billcorea.tistory.com

 

 

귤탐 당도선별 감귤 로열과, 3kg(S~M), 1박스 삼립 호빵 발효미종 단팥, 92g, 14개입 [엉클컴퍼니] 우리밀 찐빵/흑미찐빵/단호박찐빵/고구마찐빵 국산팥, 우리밀 고구마찐빵(20개입) 1300g 국산팥 우리밀 MORIT 여성용 방한장갑 터치스크린 다용도 고급겨울장갑 에이치머스 스마트폰 터치 방한 장갑
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글

이 블로그의 인기 게시물

안드로이드 앱 만들기 : onBackPressed 가 deprecated 되었다니 ?

원본출처: 티스토리 바로가기 onBackPressed 가 deprecated 되었다? 이제 우리는 구글이 제안하는 안드로이드 13에 타기팅하는 앱을 제출 해야만 하는 시기에 도달하고 있습니다.  구글이 새로운 안드로이드 버전을 배포하기 시작하면서 오래된 안드로이드에 대한 게시를 제한 합니다.    그래서 이번에 API 33 인 안드로이드 13에 타겟팅 하는 앱을 작성해 보았습니다. 그러다 만난 몇 가지 사용 제한이 되는 것들에 대한 정리를 해 두고자 합니다.    onBackPressed는 사용자가 뒤로 가기 버튼을 클릭하는 경우 제어를 하기 위해서 사용했던 함수 입니다. MainActivity 에서 최종적으로 뒤로 가기를 클릭 하는 경우 앱을 종료시키는 기능도 사용이 되는 함수였는 데...   안드로이드 13에서는 더 이상 사용할 수 없는 (?)  - 사용은 가능 하나 소스 코드에 중간 줄이 생긴 모양을 보면서 코드를 지속적으로 봐야 합니다.    onBackPressed 어떻게 해소를 하면 될까요?   CallBack을 하나 만들어 봅니다. private val callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { doCloseApps() } } 다른 건 없고 이런 모양으로 callback 함수를 하나 만들어 둡니다.  그러고 onCreate 에서 이 callback 이 호출 되도록 한 줄 넣어 주는 것으로 그 코딩은 마무리 됩니다.    @RequiresApi(Build.VERSION_CODES.TIRAMISU) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(sav...

개인정보처리방침 안내

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